Message223344
It looks like asyncio does not suppport fork() currently: on fork(), the event loop of the parent and the child process share the same "self pipe".
Example:
---
import asyncio, os
loop = asyncio.get_event_loop()
pid = os.fork()
if pid:
print("parent", loop._csock.fileno(), loop._ssock.fileno())
else:
print("child", loop._csock.fileno(), loop._ssock.fileno())
---
Output:
---
parent 6 5
child 6 5
---
I'm not sure that it's revelant to use asyncio with fork, but I wanted to open an issue at least as a reminder.
I found the "self pipe" + fork issue when reading the issue #12060, while working on a fix for the signal handling race condition on FreeBSD: issue #21645. |
|
Date |
User |
Action |
Args |
2014-07-17 16:10:45 | vstinner | set | recipients:
+ vstinner, gvanrossum, yselivanov |
2014-07-17 16:10:45 | vstinner | set | messageid: <1405613445.85.0.0173565539891.issue21998@psf.upfronthosting.co.za> |
2014-07-17 16:10:45 | vstinner | link | issue21998 messages |
2014-07-17 16:10:45 | vstinner | create | |
|