• R
    fix return value of system on failure to spawn child process · 1d297a28
    Rich Felker 提交于
    the value 0x7f00 (as if by _exit(127)) is specified only for the case
    where the child is created but then fails to exec the shell, since
    traditional fork+exec implementations do not admit reporting an error
    via errno in this case without additional machinery. it's unclear
    whether an implementation not subject to this failure mode needs to
    emulate it; one could read the standard as requiring that. if so,
    additional code will need to be added to map posix_spawn errors into
    the form system is expected to return. but for now, returning -1 to
    indicate an error is significantly better behavior than always
    reporting failures as if the shell failed to exec after fork.
    1d297a28
system.c 1.2 KB