diff options
author | Patrick Mooney <patrick.f.mooney@gmail.com> | 2015-02-14 02:32:16 +0000 |
---|---|---|
committer | Patrick Mooney <patrick.f.mooney@gmail.com> | 2015-02-14 02:32:16 +0000 |
commit | d34c3434a6ead24ec3e41daebf60ff85376c9e47 (patch) | |
tree | e1db61130c17a6f9ca85db203aa8c507d5338c1b /usr/src | |
parent | eb20fbe2fac1596990392cf5a8ea5030948e4768 (diff) | |
download | illumos-joyent-d34c3434a6ead24ec3e41daebf60ff85376c9e47.tar.gz |
OS-3841 lxbrand si_status mangled on SIGCHLD
Diffstat (limited to 'usr/src')
-rw-r--r-- | usr/src/lib/brand/lx/lx_brand/common/signal.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/usr/src/lib/brand/lx/lx_brand/common/signal.c b/usr/src/lib/brand/lx/lx_brand/common/signal.c index 9029249b10..7d3865c2de 100644 --- a/usr/src/lib/brand/lx/lx_brand/common/signal.c +++ b/usr/src/lib/brand/lx/lx_brand/common/signal.c @@ -561,8 +561,12 @@ stol_siginfo(siginfo_t *siginfop, lx_siginfo_t *lx_siginfop) case LX_SIGCHLD: lx_siginfo.lsi_pid = siginfop->si_pid; - lx_siginfo.lsi_status = stol_status( - siginfop->si_status); + if (siginfop->si_code == CLD_EXITED) { + lx_siginfo.lsi_status = siginfop->si_status; + } else { + lx_siginfo.lsi_status = stol_status( + siginfop->si_status); + } lx_siginfo.lsi_utime = siginfop->si_utime; lx_siginfo.lsi_stime = siginfop->si_stime; break; |