LINUX.ORG.RU

История изменений

Исправление PPP328, (текущая версия) :

А я кому написал, что многопоток сразу идет на весь алфавит, потому что «прерывание» придёт только в один незапрещенный поток? Если у вас многопоток с флагом - то там вообще нельзя полагаться на то что read/write/accept «порвёт» и вы из него вылетите. Поэтому там нужна связка из select/poll чтобы поймать событие и только после этого дергать блокирующие функции (и то, можно перестраховаться и там сделать асинк)

А отвечая на ваш вопрос иначе если в другом потоке тоже цикл while (!exited) то не случится ничего критичного, если он прокрутится ещё раз из-за того что тут еще не обновилась переменная. Так-то на неё бы еще volatile повесить.

Исходная версия PPP328, :

А я кому написал, что многопоток сразу идет на весь алфавит, потому что «прерывание» придёт только в один незапрещенный поток? Если у вас многопоток с флагом - то там вообще нельзя полагаться на то что read/write/accept «порвёт» и вы из него вылетите. Поэтому там нужна связка из select/poll чтобы поймать событие и только после этого дергать блокирующие функции (и то, можно перестраховаться и там сделать асинк)