Quoting S.Çağlar Onur ([email protected]): > On Thu, Jan 16, 2014 at 4:24 PM, Serge Hallyn <[email protected]> wrote: > > Quoting S.Çağlar Onur ([email protected]): > >> 32 and 33 are not defined and causing sigaction to fail. "kill -l" shows > >> following > >> on my system > >> > >> 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP > >> 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 > >> 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM > >> 16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP > >> 21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ > >> 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR > >> 31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) > >> SIGRTMIN+3 > >> 38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) > >> SIGRTMIN+8 > >> 43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) > >> SIGRTMIN+13 > >> 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) > >> SIGRTMAX-12 > >> 53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) > >> SIGRTMAX-7 > >> 58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) > >> SIGRTMAX-2 > >> 63) SIGRTMAX-1 64) SIGRTMAX > >> > >> Signed-off-by: S.Çağlar Onur <[email protected]> > > > > Odd... on my system NSIG is 32, so these should never hit (since it is > > in a while i<NSIG loop) > > Printing NSIG via ERROR shows that its 64 on my system.
So a header file is #defining NSIG, which is already defined to 32 in kernel headers, to _NSIG, which is 64. Looking around the current state of kernel headers, i wonder whether we should imply use min(SIGRTMIN, NSIG). > > Does 32 show up in /usr/include/asm-generic/signal.h or > > /usr/include/`arch`-linux-gnu/asm/signal.h ? > > [caglar@qp:~/Projects/lxc(master)] find /usr/include/ -name signal.h | > xargs grep NSIG > /usr/include/asm-generic/signal.h:#define _NSIG 64 > /usr/include/asm-generic/signal.h:#define _NSIG_BPW __BITS_PER_LONG > /usr/include/asm-generic/signal.h:#define _NSIG_WORDS (_NSIG / _NSIG_BPW) > /usr/include/asm-generic/signal.h:#define SIGRTMAX _NSIG > /usr/include/asm-generic/signal.h:#define MINSIGSTKSZ 2048 > /usr/include/asm-generic/signal.h: unsigned long sig[_NSIG_WORDS]; > /usr/include/x86_64-linux-gnu/asm/signal.h:#define NSIG 32 > /usr/include/x86_64-linux-gnu/asm/signal.h:#define SIGRTMAX _NSIG > /usr/include/x86_64-linux-gnu/asm/signal.h:#define MINSIGSTKSZ 2048 > /usr/include/signal.h:# define NSIG _NSIG > /usr/include/signal.h:extern const char *const _sys_siglist[_NSIG]; > /usr/include/signal.h:extern const char *const sys_siglist[_NSIG]; > > >> --- > >> src/lxc/lxc_init.c | 3 ++- > >> 1 file changed, 2 insertions(+), 1 deletion(-) > >> > >> diff --git a/src/lxc/lxc_init.c b/src/lxc/lxc_init.c > >> index a59dd9c..ae64af8 100644 > >> --- a/src/lxc/lxc_init.c > >> +++ b/src/lxc/lxc_init.c > >> @@ -143,7 +143,8 @@ int main(int argc, char *argv[]) > >> i == SIGSEGV || > >> i == SIGBUS || > >> i == SIGSTOP || > >> - i == SIGKILL) > >> + i == SIGKILL || > >> + i == 32 || i == 33) > >> continue; > >> > >> if (sigfillset(&act.sa_mask) || > >> -- > >> 1.8.3.2 > >> > >> _______________________________________________ > >> lxc-devel mailing list > >> [email protected] > >> http://lists.linuxcontainers.org/listinfo/lxc-devel > > _______________________________________________ > > lxc-devel mailing list > > [email protected] > > http://lists.linuxcontainers.org/listinfo/lxc-devel > > > > -- > S.Çağlar Onur <[email protected]> > _______________________________________________ > lxc-devel mailing list > [email protected] > http://lists.linuxcontainers.org/listinfo/lxc-devel _______________________________________________ lxc-devel mailing list [email protected] http://lists.linuxcontainers.org/listinfo/lxc-devel
