Comments 6
Ненормальное программирование
100% в точку. Исследовать POSIX сигналы под виндоус...
+1
UFO just landed and posted this here
А если использовать мьютекс для блокировки общего ресурса, кем является поток вывода.
-2
Тогда при следующем сигнале получаем deadlock и все.
Не знаю как в винде, возможно своя специфика, но в POSIX подробно описано что такое async-signal-safe и что гарантировано им является.
Не знаю как в винде, возможно своя специфика, но в POSIX подробно описано что такое async-signal-safe и что гарантировано им является.
0
Ну вот вы захватили мьютекс, вызвали printf. Тут пришёл сигнал, и вы снова захватываете мьютекс чтобы вызвать printf. Результат — либо ошибка, либо взаимоблокировка. И даже если вы используете реентерабельную критическую секцию, вызов printf пока выполняется printf всё равно будет ошибкой.
+1
Предлагаю обратить внимание на
std::this_thread::get_id()
для получения id потока вместо самопальной функции.
0
Sign up to leave a comment.
Эксперименты с POSIX сигналами в Windows