Issue #16255: subrocess.Popen uses /system/bin/sh on Android as the shell,

instead of /bin/sh.
This commit is contained in:
Xavier de Gaye 2016-12-13 16:32:21 +01:00
parent f191a9e8e4
commit b35fc626c1
2 changed files with 7 additions and 1 deletions

View File

@ -1204,7 +1204,10 @@ class Popen(object):
args = list(args)
if shell:
args = ["/bin/sh", "-c"] + args
# On Android the default shell is at '/system/bin/sh'.
unix_shell = ('/system/bin/sh' if
hasattr(sys, 'getandroidapilevel') else '/bin/sh')
args = [unix_shell, "-c"] + args
if executable:
args[0] = executable

View File

@ -177,6 +177,9 @@ Core and Builtins
Library
-------
- Issue #16255: subrocess.Popen uses /system/bin/sh on Android as the shell,
instead of /bin/sh.
- Issue #28779: multiprocessing.set_forkserver_preload() would crash the
forkserver process if a preloaded module instantiated some
multiprocessing objects such as locks.