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@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@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. |