[issue3551] multiprocessing.Pipe terminates with ERROR_NO_SYSTEM_RESOURCES if large data is sent (win2000)

Jesse Noller report at bugs.python.org
Tue Mar 31 00:11:19 CEST 2009


Jesse Noller <jnoller at gmail.com> added the comment:

John, can you try this on trunk:

from multiprocessing import *

latin = str

SENTINEL = latin('')

def _echo(conn):
    for msg in iter(conn.recv_bytes, SENTINEL):
        conn.send_bytes(msg)
    conn.close()

conn, child_conn = Pipe()

p = Process(target=_echo, args=(child_conn,))
p.daemon = True
p.start()

really_big_msg = latin('X') * (1024 * 1024 * 32)
conn.send_bytes(really_big_msg)
assert conn.recv_bytes() == really_big_msg

conn.send_bytes(SENTINEL)                          # tell child to quit
child_conn.close()

----------

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


More information about the Python-bugs-list mailing list