sigfeatures revision 7c2fbfb345896881c631598ee3852ce9ce33fb07
199767f8919635c4928607450d9e0abb932109ceToomas Soomelib sigblock,sigrelse,sigsetmask,sigprocmask,sigvec
199767f8919635c4928607450d9e0abb932109ceToomas Soometyp sigset_t ast.h signal.h
199767f8919635c4928607450d9e0abb932109ceToomas Soomemem sigvec.sv_mask signal.h
199767f8919635c4928607450d9e0abb932109ceToomas Soomecat{
199767f8919635c4928607450d9e0abb932109ceToomas Soome #ifndef _mem_sigvec_sv_mask
199767f8919635c4928607450d9e0abb932109ceToomas Soome # undef _lib_sigvec
199767f8919635c4928607450d9e0abb932109ceToomas Soome #endif
199767f8919635c4928607450d9e0abb932109ceToomas Soome #ifdef _lib_sigprocmask
199767f8919635c4928607450d9e0abb932109ceToomas Soome # define sh_sigaction(s,action) do { sigset_t ss;\
199767f8919635c4928607450d9e0abb932109ceToomas Soome sigemptyset(&ss); \
199767f8919635c4928607450d9e0abb932109ceToomas Soome if(s) sigaddset(&ss,(s)); \
199767f8919635c4928607450d9e0abb932109ceToomas Soome sigprocmask(action,&ss,0); \
199767f8919635c4928607450d9e0abb932109ceToomas Soome }while(0)
199767f8919635c4928607450d9e0abb932109ceToomas Soome # define sigrelease(s) sh_sigaction(s,SIG_UNBLOCK)
199767f8919635c4928607450d9e0abb932109ceToomas Soome # define sigblock(s) sh_sigaction(s,SIG_BLOCK)
199767f8919635c4928607450d9e0abb932109ceToomas Soome # define sig_begin() sh_sigaction(0,SIG_SETMASK)
199767f8919635c4928607450d9e0abb932109ceToomas Soome #else
199767f8919635c4928607450d9e0abb932109ceToomas Soome # ifndef _lib_sigblock
199767f8919635c4928607450d9e0abb932109ceToomas Soome # define sigblock(s)
199767f8919635c4928607450d9e0abb932109ceToomas Soome # endif
199767f8919635c4928607450d9e0abb932109ceToomas Soome # ifdef _lib_sigsetmask
199767f8919635c4928607450d9e0abb932109ceToomas Soome # define sigrelease(s) sigsetmask(0)
199767f8919635c4928607450d9e0abb932109ceToomas Soome # define sig_begin() sigsetmask(0)
199767f8919635c4928607450d9e0abb932109ceToomas Soome # else
199767f8919635c4928607450d9e0abb932109ceToomas Soome # ifdef _lib_sigrelse
199767f8919635c4928607450d9e0abb932109ceToomas Soome # define sigrelease sigrelse
199767f8919635c4928607450d9e0abb932109ceToomas Soome # define sig_begin()
199767f8919635c4928607450d9e0abb932109ceToomas Soome # else
199767f8919635c4928607450d9e0abb932109ceToomas Soome # define sig_begin() (0)
199767f8919635c4928607450d9e0abb932109ceToomas Soome # define sigrelease(s) (0)
199767f8919635c4928607450d9e0abb932109ceToomas Soome # endif /* _lib_sigrelse */
199767f8919635c4928607450d9e0abb932109ceToomas Soome # endif /* _lib_sigsetmask */
199767f8919635c4928607450d9e0abb932109ceToomas Soome #endif /* _lib_sigprocmask */
199767f8919635c4928607450d9e0abb932109ceToomas Soome}end
199767f8919635c4928607450d9e0abb932109ceToomas Soometst output{
199767f8919635c4928607450d9e0abb932109ceToomas Soome #include <signal.h>
199767f8919635c4928607450d9e0abb932109ceToomas Soome int main()
199767f8919635c4928607450d9e0abb932109ceToomas Soome {
199767f8919635c4928607450d9e0abb932109ceToomas Soome #ifdef SIGRTMIN
199767f8919635c4928607450d9e0abb932109ceToomas Soome printf("#undef _SIGRTMIN\n");
199767f8919635c4928607450d9e0abb932109ceToomas Soome printf("#define _SIGRTMIN %d\n", SIGRTMIN);
199767f8919635c4928607450d9e0abb932109ceToomas Soome #endif
199767f8919635c4928607450d9e0abb932109ceToomas Soome #ifdef SIGRTMAX
199767f8919635c4928607450d9e0abb932109ceToomas Soome printf("#undef _SIGRTMAX\n");
199767f8919635c4928607450d9e0abb932109ceToomas Soome printf("#define _SIGRTMAX %d\n", SIGRTMAX);
199767f8919635c4928607450d9e0abb932109ceToomas Soome #endif
199767f8919635c4928607450d9e0abb932109ceToomas Soome return 0;
199767f8919635c4928607450d9e0abb932109ceToomas Soome }
199767f8919635c4928607450d9e0abb932109ceToomas Soome}end
199767f8919635c4928607450d9e0abb932109ceToomas Soome