diff options
-rw-r--r-- | Lib/os.py | 28 |
1 files changed, 15 insertions, 13 deletions
@@ -454,16 +454,18 @@ otherwise return -SIG, where SIG is the signal that killed it. """ return spawnvpe(mode, file, args[:-1], env) -if not _exists("popen2"): - def popen2(cmd, mode="t", bufsize=-1): - assert mode[:1] in ("b", "t") - import popen2 - stdout, stdin = popen2.popen2(cmd, bufsize) - return stdin, stdout - -if not _exists("popen3"): - def popen3(cmd, mode="t", bufsize=-1): - assert mode[:1] in ("b", "t") - import popen2 - stdout, stdin, stderr = popen2.popen3(cmd, bufsize) - return stdin, stdout, stderr +# Supply popen2 etc. (for Unix) +if _exists("fork"): + if not _exists("popen2"): + def popen2(cmd, mode="t", bufsize=-1): + assert mode[:1] in ("b", "t") + import popen2 + stdout, stdin = popen2.popen2(cmd, bufsize) + return stdin, stdout + + if not _exists("popen3"): + def popen3(cmd, mode="t", bufsize=-1): + assert mode[:1] in ("b", "t") + import popen2 + stdout, stdin, stderr = popen2.popen3(cmd, bufsize) + return stdin, stdout, stderr |