[New-bugs-announce] [issue21998] asyncio: a new self-pipe should be created in the child process after fork
STINNER Victor
report at bugs.python.org
Thu Jul 17 18:10:45 CEST 2014
New submission from STINNER Victor:
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.
----------
components: asyncio
messages: 223344
nosy: gvanrossum, haypo, yselivanov
priority: normal
severity: normal
status: open
title: asyncio: a new self-pipe should be created in the child process after fork
versions: Python 3.4, Python 3.5
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue21998>
_______________________________________
More information about the New-bugs-announce
mailing list