Могут ли спинлоки в обработчиках сигналов вызвать тупик?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Могут ли спинлоки в обработчиках сигналов вызвать тупик?

Сообщение Anonymous »

Я читал, что использование мутекса в обработчике сигнала может вызвать тупик, если поток основной программы заблокировал Mutex до того, как обработчик сигнала будет вызван. Я также читал предложения, которые обработчики сигнала должны вместо этого использовать STD :: Atomic Types, для которых is_lock_free () возвращает true. std :: atomic_flag - это один из таких типов, и Cppreference даже имеет реализацию Spinlock на своей странице std :: atomic_flag. из мутекс в обработке сигнала и в основной программе, не могут быть тупиками? Если нить в основной программе блокирует спинлок, а затем работает обработчик сигнала и пытается заблокировать спинлок, не произойдет тупик?

Подробнее здесь: https://stackoverflow.com/questions/794 ... e-deadlock
Ответить

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

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

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

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

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