* pinfo.cc (proc_waiter): Properly fill out si_code as according to SUSv3.
* exceptions.cc (handle_exceptions): Properly fill out si_code as according to SUSv3.
This commit is contained in:
parent
f086715060
commit
683cc8189c
@ -1,6 +1,11 @@
|
|||||||
2005-09-26 Christopher Faylor <cgf@timesys.com>
|
2005-09-26 Christopher Faylor <cgf@timesys.com>
|
||||||
|
|
||||||
* exceptions.cc (handle_exceptions): Properly fill out si_code.
|
* pinfo.cc (proc_waiter): Properly fill out si_code as according to SUSv3.
|
||||||
|
|
||||||
|
2005-09-26 Christopher Faylor <cgf@timesys.com>
|
||||||
|
|
||||||
|
* exceptions.cc (handle_exceptions): Properly fill out si_code as
|
||||||
|
according to SUSv3.
|
||||||
|
|
||||||
2005-09-25 Christopher Faylor <cgf@timesys.com>
|
2005-09-25 Christopher Faylor <cgf@timesys.com>
|
||||||
|
|
||||||
|
@ -939,7 +939,7 @@ proc_waiter (void *arg)
|
|||||||
|
|
||||||
siginfo_t si;
|
siginfo_t si;
|
||||||
si.si_signo = SIGCHLD;
|
si.si_signo = SIGCHLD;
|
||||||
si.si_code = SI_KERNEL;
|
si.si_code = CLD_EXITED;
|
||||||
si.si_pid = vchild->pid;
|
si.si_pid = vchild->pid;
|
||||||
si.si_errno = 0;
|
si.si_errno = 0;
|
||||||
#if 0 // FIXME: This is tricky to get right
|
#if 0 // FIXME: This is tricky to get right
|
||||||
@ -975,11 +975,11 @@ proc_waiter (void *arg)
|
|||||||
vchild.rd_proc_pipe = NULL;
|
vchild.rd_proc_pipe = NULL;
|
||||||
vchild.maybe_set_exit_code_from_windows ();
|
vchild.maybe_set_exit_code_from_windows ();
|
||||||
if (WIFEXITED (vchild->exitcode))
|
if (WIFEXITED (vchild->exitcode))
|
||||||
si.si_sigval.sival_int = CLD_EXITED;
|
si.si_code = CLD_EXITED;
|
||||||
else if (WCOREDUMP (vchild->exitcode))
|
else if (WCOREDUMP (vchild->exitcode))
|
||||||
si.si_sigval.sival_int = CLD_DUMPED;
|
si.si_code = CLD_DUMPED;
|
||||||
else
|
else
|
||||||
si.si_sigval.sival_int = CLD_KILLED;
|
si.si_code = CLD_KILLED;
|
||||||
si.si_status = vchild->exitcode;
|
si.si_status = vchild->exitcode;
|
||||||
vchild->process_state = PID_EXITED;
|
vchild->process_state = PID_EXITED;
|
||||||
/* This should always be last. Do not use vchild-> beyond this point */
|
/* This should always be last. Do not use vchild-> beyond this point */
|
||||||
@ -991,7 +991,7 @@ proc_waiter (void *arg)
|
|||||||
if (ISSTATE (myself, PID_NOCLDSTOP)) // FIXME: No need for this flag to be in _pinfo any longer
|
if (ISSTATE (myself, PID_NOCLDSTOP)) // FIXME: No need for this flag to be in _pinfo any longer
|
||||||
continue;
|
continue;
|
||||||
/* Child stopped. Signal myself. */
|
/* Child stopped. Signal myself. */
|
||||||
si.si_sigval.sival_int = CLD_STOPPED;
|
si.si_code = CLD_STOPPED;
|
||||||
break;
|
break;
|
||||||
case SIGCONT:
|
case SIGCONT:
|
||||||
continue;
|
continue;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user