Skip Montanaro <s...@pobox.com> added the comment:

Here is another data point.  I added some print calls to the subprocess
module and ran the key call from the interpreter:

    % ./python.exe 
    Python 3.1a0 (py3k:68218, Jan  3 2009, 15:06:30) 
    [GCC 4.0.1 (Apple Inc. build 5490)] on darwin
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import subprocess
    >>> import sys
    >>> cmd_line = [sys.executable, '-E']>>> cmd_line.extend(['-c', 
"assert(ord('\xe9') == 0xe9)"])
    >>> subprocess.call(cmd_line, stdout=subprocess.PIPE, 
stderr=subprocess.PIPE)
    1 wait, returncode= None
    2 wait, pid= 4029 sts= 256
    5 _handle_exitstatus WIFEXITED
    3 wait, returncode= 1
    1
    >>> os.WIFEXITED(256)
    True
    >>> os.WEXITSTATUS(256)
    1
    >>> 256 & 255
    0

A return code of 256 seems to me like the exit code should be 0.  From my
Mac's wait(2) man page:

     WEXITSTATUS(status)
             If WIFEXITED(status) is true, evaluates to the low-order 8 bits
             of the argument passed to _exit(2) or exit(3) by the child.

What's with the WEXITSTATUS return value of 1?

Skip

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue4824>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to