Mercurial > illumos > illumos-gate
changeset 11939:99d25c90b354
6935093 in a linux zone, /proc/pid/status shows incorrect signal bits
author | Roger A. Faulkner <Roger.Faulkner@Sun.COM> |
---|---|
date | Tue, 16 Mar 2010 14:28:56 -0700 |
parents | 6f4775397a5e |
children | 98e0550abcac |
files | usr/src/uts/common/brand/lx/procfs/lx_prvnops.c |
diffstat | 1 files changed, 12 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/usr/src/uts/common/brand/lx/procfs/lx_prvnops.c Tue Mar 16 09:59:42 2010 -0700 +++ b/usr/src/uts/common/brand/lx/procfs/lx_prvnops.c Tue Mar 16 14:28:56 2010 -0700 @@ -922,33 +922,33 @@ sigemptyset(&ignore); sigemptyset(&handle); - for (i = 1; i < MAXSIG; i++) { + for (i = 1; i < NSIG; i++) { lx_sig = stol_signo[i]; - if ((lx_sig > 0) && (lx_sig < MAXSIG)) { + if ((lx_sig > 0) && (lx_sig < LX_NSIG)) { if (sigismember(&p->p_sig, i)) sigaddset(¤t, lx_sig); - if (up->u_signal[i] == SIG_IGN) + if (up->u_signal[i - 1] == SIG_IGN) sigaddset(&ignore, lx_sig); - else if (up->u_signal[i] != SIG_DFL) + else if (up->u_signal[i - 1] != SIG_DFL) sigaddset(&handle, lx_sig); } } lxpr_uiobuf_printf(uiobuf, "\n" - "SigPnd:\t%08x%08x%08x\n" - "SigBlk:\t%08x%08x%08x\n" - "SigIgn:\t%08x%08x%08x\n" - "SigCgt:\t%08x%08x%08x\n" + "SigPnd:\t%08x%08x\n" + "SigBlk:\t%08x%08x\n" + "SigIgn:\t%08x%08x\n" + "SigCgt:\t%08x%08x\n" "CapInh:\t%016x\n" "CapPrm:\t%016x\n" "CapEff:\t%016x\n", - current.__sigbits[2], current.__sigbits[1], current.__sigbits[0], - 0, 0, 0, /* signals blocked on per thread basis */ - ignore.__sigbits[2], ignore.__sigbits[1], ignore.__sigbits[0], - handle.__sigbits[2], handle.__sigbits[1], handle.__sigbits[0], + current.__sigbits[1], current.__sigbits[0], + 0, 0, /* signals blocked on per thread basis */ + ignore.__sigbits[1], ignore.__sigbits[0], + handle.__sigbits[1], handle.__sigbits[0], /* Can't do anything with linux capabilities */ 0, 0,