This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author hidmic
Recipients asvetlov, gvanrossum, hidmic, paul.moore, steve.dower, tim.golden, yselivanov, zach.ware
Date 2021-07-28.23:56:13
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1627516574.41.0.679106802446.issue42913@roundup.psfhosted.org>
In-reply-to
Content
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).
History
Date User Action Args
2021-07-28 23:56:14hidmicsetrecipients: + hidmic, gvanrossum, paul.moore, tim.golden, asvetlov, zach.ware, yselivanov, steve.dower
2021-07-28 23:56:14hidmicsetmessageid: <1627516574.41.0.679106802446.issue42913@roundup.psfhosted.org>
2021-07-28 23:56:14hidmiclinkissue42913 messages
2021-07-28 23:56:13hidmiccreate