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

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