Martin Storsjo martin@martin.st writes:
diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c index 053c87da83..a89ff20fd6 100644 --- a/dlls/ntdll/signal_i386.c +++ b/dlls/ntdll/signal_i386.c @@ -2817,6 +2817,9 @@ void signal_exit_thread( int status ) */ void signal_exit_process( int status ) {
- /* Prevent a nonzero exit code to end up truncated to zero in unix. */
- if (status != 0 && (status & 0xff) == 0)
call_thread_exit_func( status, exit );status = 1;
}
diff --git a/dlls/ntdll/signal_powerpc.c b/dlls/ntdll/signal_powerpc.c index 86398d8f54..a5cce9bae3 100644 --- a/dlls/ntdll/signal_powerpc.c +++ b/dlls/ntdll/signal_powerpc.c @@ -1240,6 +1240,9 @@ void signal_exit_thread( int status ) */ void signal_exit_process( int status ) {
- /* Prevent a nonzero exit code to end up truncated to zero in unix. */
- if (status != 0 && (status & 0xff) == 0)
exit( status );status = 1;
}
You could probably do that in the caller instead of duplicating it into every CPU backend.