Python-Signalhandler: Warum `print` zum Absturz führen kann
Is it safe to call print in a Python signal handler?
Python führt Signalhandler nicht direkt im C-Handler aus, sondern später im Interpreter. Doch Signalhandler sind unerwartet reentrant: Trifft ein Signal während eines laufenden Handlers ein, wird er erneut aufgerufen. Ein Stresstest mit 50 Signalen zeigt, dass `print` im Handler dann einen `RuntimeError` auslösen kann. Der Autor betont, dass dies extreme Umstände erfordert und für reale Programme selten relevant ist, rät aber weiterhin von komplexen Operationen in Signalhandlern ab.
Das Testprogramm zeigt, dass der Aufruf von `print` in einem Signalhandler unter extremen Umständen zum Absturz Ihres Programms führen kann.