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.stin...@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.stin...@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 <rep...@bugs.python.org> <http://bugs.python.org/issue30038> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com