1*4887Schinlib sigblock,sigrelse,sigsetmask,sigprocmask,sigvec 2*4887Schintyp sigset_t ast.h signal.h 3*4887Schinmem sigvec.sv_mask signal.h 4*4887Schincat{ 5*4887Schin #ifndef _mem_sigvec_sv_mask 6*4887Schin # undef _lib_sigvec 7*4887Schin #endif 8*4887Schin #ifdef _lib_sigprocmask 9*4887Schin # define sh_sigaction(s,action) do { sigset_t ss;\ 10*4887Schin sigemptyset(&ss);\ 11*4887Schin sigaddset(&ss,(s));\ 12*4887Schin sigprocmask(action,&ss,0); \ 13*4887Schin }while(0) 14*4887Schin # define sigrelease(s) sh_sigaction(s,SIG_UNBLOCK) 15*4887Schin # define sigblock(s) sh_sigaction(s,SIG_BLOCK) 16*4887Schin # define sig_begin() sh_sigaction(0,SIG_SETMASK) 17*4887Schin #else 18*4887Schin # ifndef _lib_sigblock 19*4887Schin # define sigblock(s) 20*4887Schin # endif 21*4887Schin # ifdef _lib_sigsetmask 22*4887Schin # define sigrelease(s) sigsetmask(0) 23*4887Schin # define sig_begin() sigsetmask(0) 24*4887Schin # else 25*4887Schin # ifdef _lib_sigrelse 26*4887Schin # define sigrelease sigrelse 27*4887Schin # define sig_begin() 28*4887Schin # else 29*4887Schin # define sig_begin() (0) 30*4887Schin # define sigrelease(s) (0) 31*4887Schin # endif /* _lib_sigrelse */ 32*4887Schin # endif /* _lib_sigsetmask */ 33*4887Schin #endif /* _lib_sigprocmask */ 34*4887Schin}end 35*4887Schintst output{ 36*4887Schin #include <signal.h> 37*4887Schin int main() 38*4887Schin { 39*4887Schin #ifdef SIGRTMIN 40*4887Schin printf("#undef _SIGRTMIN\n"); 41*4887Schin printf("#define _SIGRTMIN %d\n", SIGRTMIN); 42*4887Schin #endif 43*4887Schin #ifdef SIGRTMAX 44*4887Schin printf("#undef _SIGRTMAX\n"); 45*4887Schin printf("#define _SIGRTMAX %d\n", SIGRTMAX); 46*4887Schin #endif 47*4887Schin return 0; 48*4887Schin } 49*4887Schin}end 50