[issue30038] Race condition in how trip_signal writes to wakeup fd
STINNER Victor
report at bugs.python.org
Tue Apr 11 06:39:41 EDT 2017
STINNER Victor added the comment:
Previous changes in signal handling. It's the commit c13ef66649985025382c64f6af8e3b956411e05b of the issue #8407 which changed the order: <add_pending, write into wakeup fd> became <write into wakeup fd, add_pending>.
I really *hate* having to think to these evil things which are signals and threads... Signals and threads don't go well altogether :-p It reminds me the "Ghosts of Unix past, part 3: Unfixable designs" article...
https://lwn.net/Articles/414618/
commit 6c9b35bfe2585af08ea6480294e096e2d2397fe3
Author: Victor Stinner <victor.stinner at haypocalc.com>
Date: Mon Apr 18 16:25:56 2011 +0200
Issue #11768: The signal handler of the signal module only calls
Py_AddPendingCall() for the first signal to fix a deadlock on reentrant or
parallel calls. PyErr_SetInterrupt() writes also into the wake up file.
commit c13ef66649985025382c64f6af8e3b956411e05b
Author: Victor Stinner <victor.stinner at haypocalc.com>
Date: Wed May 25 02:35:58 2011 +0200
Issue #8407: Fix the signal handler of the signal module: if it is called
twice, it now writes the number of the second signal into the wakeup fd.
----------
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue30038>
_______________________________________
More information about the Python-bugs-list
mailing list