Michel Hidalgo <hid.mic...@gmail.com> added the comment:

Circling back. I've been giving some thought to this. While this could be fixed 
within asyncio.proactor_events.ProactorEventLoop and 
asyncio.unix_events._UnixSelectorEventLoop implementations (e.g. calling 
signal.set_wakeup_fd once and forwarding signal numbers to subsequent instances 
through file descriptors or direct reference), I can't help thinking I've 
encountered this issue of contending signal API calls too many times already. 
Rarely two call sites cooperate with each other.

So... how do people feel about changing the signal API module to enable 
multiple file descriptors and multiple signal handlers per signal? It'd be much 
simpler to use, and not only in asyncio. Implementation-wise, a lock-free 
singly linked list could be used to store them (may need to expose 
compare-and-swap atomic primitives in pycore_atomic.h).

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue42913>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to