New submission from Vilnis Termanis <[email protected]>:
Affects Win32 only (tested under Ubuntu 9.10-64 and XP-32 with v2.6.4). If
script output is piped, child processes created via multiprocessing.Process
cannot write to stdout. Also, trying to call stdout.flush() in child processes
causes IOError.
Normal behaviour
----------------
C:\>stdout.py
[Parent] stdout: <open file '<stdout>', mode 'w' at 0x00A54070>
[Parent] message via stdout
[Child] stdout: <open file '<stdout>', mode 'w' at 0x00A54070>
[Child] message via stdout
Piped behaviour (same result if redirecting to file)
---------------
C:\>stdout.py | cat
[Parent] stdout: <open file '<stdout>', mode 'w' at 0x00A54070>
[Parent] message via stdout
[Child] stdout: <open file '<stdout>', mode 'w' at 0x00A54070>
Process Process-1:
Traceback (most recent call last):
File "C:\Python26\lib\multiprocessing\process.py", line 232, in _bootstrap
self.run()
File "C:\Python26\lib\multiprocessing\process.py", line 88, in run
self._target(*self._args, **self._kwargs)
File "C:\stdout.py", line 18, in child
stdout.flush()
IOError: [Errno 9] Bad file descriptor
----------
components: Library (Lib), Windows
files: stdout.py
messages: 100390
nosy: vilnis.termanis
severity: normal
status: open
title: Piped parent's multiprocessing.Process children cannot write to stdout
type: behavior
versions: Python 2.6
Added file: http://bugs.python.org/file16432/stdout.py
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue8056>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com