nova/tools/eventlet-patch

25 lines
1.2 KiB
Plaintext

# HG changeset patch
# User Soren Hansen <soren@linux2go.dk>
# Date 1297678255 -3600
# Node ID 4c846d555010bb5a91ab4da78dfe596451313742
# Parent 5b7e9946c79f005c028eb63207cf5eb7bb21d1c3
Don't attempt to wrap GreenPipes in GreenPipe
If the os module is monkeypatched, Python's standard subprocess module
will return greenio.GreenPipe instances for Popen objects' stdin, stdout,
and stderr attributes. However, eventlet.green.subprocess tries to wrap
these attributes in another greenio.GreenPipe, which GreenPipe refuses.
diff -r 5b7e9946c79f -r 4c846d555010 eventlet/green/subprocess.py
--- a/eventlet/green/subprocess.py Sat Feb 05 13:05:05 2011 -0800
+++ b/eventlet/green/subprocess.py Mon Feb 14 11:10:55 2011 +0100
@@ -27,7 +27,7 @@
# eventlet.processes.Process.run() method.
for attr in "stdin", "stdout", "stderr":
pipe = getattr(self, attr)
- if pipe is not None:
+ if pipe is not None and not type(pipe) == greenio.GreenPipe:
wrapped_pipe = greenio.GreenPipe(pipe, pipe.mode, bufsize)
setattr(self, attr, wrapped_pipe)
__init__.__doc__ = subprocess_orig.Popen.__init__.__doc__