И Python, и C позволяют пользователям устанавливать обработчик сигналов.Однако, если программа Python вызывает код C и этот код C устанавливает обработчик сигнала C, тогда программа Python также устанавливает обработчик сигнала Python для того же сигнала, как будет обрабатываться этот сигнал впоследствии?
Подробнеев частности, что происходит, когда пользователи вызывают signal.signal
в Python?Устанавливает ли Python в дополнение к обработчику сигналов Python обработчик сигналов C, который заменит старый обработчик сигналов C?Если да, то где старый обработчик сигнала C возвращается в среде Python?
man sigaction
говорит:
Если oldact
не равен NULL, предыдущее действие сохраняетсяв oldact
.
Но Python signal.signal
возвращает старый обработчик сигнала Python, а не старый обработчик сигнала C.