Message200487
Here's a patch changing asyncio to not rely on a Python-level signal handler at all: it reads the signal number from the self-pipe.
It should therefore work even if the select()/poll()/etc syscall doesn't fail with EINTR, and incidentally require only one wakup per signal.
Also, it gets rid of BaseEventLoop._add_callback_signalsafe().
I just had to update a test which was timing-dependent (basically, before when a signal was received you had to add the handler to the ready list and issue a self-write to wakeup the main loop, now the handler is added to the ready list and the loop is automatically woken up).
This should fix the PPC Linux and FreeBSD failures.
I'm not so sure about AIX, since the error looks different. |
|
Date |
User |
Action |
Args |
2013-10-19 19:53:57 | neologix | set | recipients:
+ neologix, gvanrossum, pitrou, skrah, python-dev, David.Edelsohn |
2013-10-19 19:53:57 | neologix | set | messageid: <1382212437.07.0.0162775195528.issue19293@psf.upfronthosting.co.za> |
2013-10-19 19:53:57 | neologix | link | issue19293 messages |
2013-10-19 19:53:56 | neologix | create | |
|