From 0db4c2a0f8b80b3f08a9a1f068a8cd0b2ff1fe4f Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sat, 15 Dec 2012 14:04:28 -0800 Subject: Handle closed sys.__stdin__, for multiprocessing Buggy code in python's multiprocessing/process.py closes sys.stdin and reassigns it to open(os.devnull), but fails to update the corresponding __stdin__ reference. So, detect that case and handle it appropriately. The buggy code is visible in http://hg.python.org/lookup/r73708. --- pym/_emerge/BinpkgFetcher.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'pym/_emerge/BinpkgFetcher.py') diff --git a/pym/_emerge/BinpkgFetcher.py b/pym/_emerge/BinpkgFetcher.py index 1913b4431..14f2552cb 100644 --- a/pym/_emerge/BinpkgFetcher.py +++ b/pym/_emerge/BinpkgFetcher.py @@ -91,7 +91,7 @@ class BinpkgFetcher(SpawnProcess): # Redirect all output to stdout since some fetchers like # wget pollute stderr (if portage detects a problem then it # can send it's own message to stderr). - fd_pipes.setdefault(0, sys.__stdin__.fileno()) + fd_pipes.setdefault(0, portage._get_stdin().fileno()) fd_pipes.setdefault(1, sys.__stdout__.fileno()) fd_pipes.setdefault(2, sys.__stdout__.fileno()) -- cgit v1.2.3-1-g7c22