[?1034hdiff -r 0ce4ce919ccd Lib/platform.py --- a/Lib/platform.py Mon Jun 16 17:12:39 2014 +0200 +++ b/Lib/platform.py Mon Jun 16 18:28:03 2014 +0200 @@ -845,12 +845,15 @@ def _syscmd_uname(option, default=''): # XXX Others too ? return default try: - f = os.popen('uname %s 2> %s' % (option, DEV_NULL)) + proc = subprocess.Popen(('uname', option), + stdout=subprocess.PIPE, + stderr=subprocess.DEVNULL) except (AttributeError, OSError): return default - output = f.read().strip() - rc = f.close() - if not output or rc: + with proc: + stdout, stderr = proc.communicate() + output = os.fsdecode(stdout.strip()) + if not output or proc.returncode: return default else: return output