[issue5155] Multiprocessing.Queue created by sub-process fails when used in sub-sub-process ("bad file descriptor" in q.get())

Beau Butler report at bugs.python.org
Wed Apr 1 01:23:08 CEST 2009


Beau Butler <beau.butler at gmail.com> added the comment:

Quick note: Have tracked this down to what appears to be buggy behaviour
on the part of os.pipe() when called from within a Process.

First invocation of os.pipe() in a Process returns (0,x) - stdin(?)
resulting in the 'bad file descriptor' error.

Interactive prompt test follows:

>>> import multiprocessing as MP, os
>>> def r():  print os.pipe(), os.pipe(), os.pipe()
... 
>>> r()
(9, 10) (11, 12) (13, 14)
>>> MP.Process(target=r).start()
(0, 15) (16, 17) (18, 19)
>>> MP.Process(target=r).start()
(0, 15) (16, 17) (18, 19)

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue5155>
_______________________________________


More information about the Python-bugs-list mailing list