История изменений
Исправление kawaii_neko, (текущая версия) :
Читать man 7 signal до просветления. Особо обращаю внимание на то, что
- По умолчанию сигналы вызывают перезапуск системных вызовов (или это только в glibc так?), так что твой кейс с EINTR никогда не сработает. Кстати, ты удивишься, сколько всего может сломаться, если вдруг начнет получать EINTR. Больше узнать об этом можно по ключевом слову
SA_RESTARTвman 2 sigaction - Вешаться на
SIGINT, а потом рассылать его же кажется не самой хорошей идеей, хотя бы потому чтоpthread_kill(SIGINT)в теории должен позвать обработчик этого сигнала в «убиваемом» треде и, кажется, тогда наступит неловкая рекурсивная ситуация
Исходная версия kawaii_neko, :
Читать man 7 signal до просветления. Особо обращаю внимание на то, что
- По умолчанию сигналы вызывают перезапуск системные вызовов (или это только в glibc так?),
SA_RESTARTскажет об этом больше - Вешаться на
SIGINT, а потом рассылать его же кажется не самой хорошей идеей, хотя бы потому чтоpthread_kill(SIGINT)в теории должен позвать обработчик этого сигнала в «убиваемом» треде и, кажется, тогда наступит неловкая рекурсивная ситуация