Sigint во время выполнения std :: thread :: join ()C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Sigint во время выполнения std :: thread :: join ()

Сообщение Anonymous »

У меня есть main () , который порождает поток, а затем соединяется с ним.
Я хочу иметь возможность иметь возможность Ctrl-c программу, поэтому я бы установил бы обработчик Sigint в Main (порожденный поток будет игнорировать этот сигнал). Когда я нахожусь в Сиг-Хэндлере, я отменю порожденный поток с помощью Cancel () , но что происходит с текущим «join ()», который был активен во время вызова сигнала? Я прав? < /P>
Вопрос в том, является ли это законным с многопоточным чтением? Я не против просто установить флаг в обработчике Sigint , но что происходит с join () вызовом?

Подробнее здесь: https://stackoverflow.com/questions/909 ... threadjoin
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»