Обработчики сигналов и ведение журнала в Python

Документация для модуля регистрации говорит, что

Если вы реализуете асинхронные обработчики сигналов с использованием модуля сигналов, вы не сможете использовать ведение журнала из таких обработчиков. Это связано с тем, что реализации блокировки в модуле потоковой передачи не всегда реентерабельны и поэтому не могут быть вызваны из таких обработчиков сигналов.

Это говорит о том, что не следует выполнять вызовы регистрации из кода, вызываемого обработчиком сигнала прямо или косвенно. Если вы делаете это время от времени, программа выйдет из состояния, когда помогает только kill -9.

Важный вопрос для меня сейчас следующий. Может ли эта проблема с блокировкой возникать, когда другие потоки вызывают методы ведения журнала в то время, когда основной поток обрабатывает сигнал ?

10
задан mtrw 5 January 2011 в 09:25
поделиться