New submission from Alexey Akimov <sub...@gmail.com>:

Double close of FD 0 when child process spawns its own child process.
Bug causes wrong file descriptors to be closed.
Bug affects only posix system.

How to reproduce:

>>> import multiprocessing as mp
>>> def child(q):
... print 'current process:', mp.current_process().name
... q.put(1)
... q.get()
... p = mp.Process(None, child, args=(mp.Queue(),))
... p.start()
...
>>> q = mp.Queue()
>>> child(q)
current process: MainProcess
current process: Process-1
current process: Process-1:1
Process Process-1:1:
Traceback (most recent call last):
File "/usr/lib/python2.5/site-packages/multiprocessing/process.py", line
236, in _bootstrap
self.run()
File "/usr/lib/python2.5/site-packages/multiprocessing/process.py", line
93, in run
self._target(*self._args, **self._kwargs)
File "<stdin>", line 4, in child
File "/usr/lib/python2.5/site-packages/multiprocessing/queues.py", line
91, in get
res = self._recv()
IOError: [Errno 9] Bad file descriptor

----------
components: Extension Modules, Library (Lib)
files: multiprocessing.patch
keywords: patch
messages: 89666
nosy: subdir
severity: normal
status: open
title: multiprocessing module: Double close of sys.stdin - ID: 2811568
versions: Python 2.4, Python 2.5, Python 2.6
Added file: http://bugs.python.org/file14354/multiprocessing.patch

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

Reply via email to