sigfeatures revision 1
1N/Alib sigblock,sigrelse,sigsetmask,sigprocmask,sigvec
1N/Atyp sigset_t ast.h signal.h
1N/Amem sigvec.sv_mask signal.h
1N/Acat{
1N/A #ifndef _mem_sigvec_sv_mask
1N/A # undef _lib_sigvec
1N/A #endif
1N/A #ifdef _lib_sigprocmask
1N/A # define sh_sigaction(s,action) do { sigset_t ss;\
1N/A sigemptyset(&ss); \
1N/A if(s) sigaddset(&ss,(s)); \
1N/A sigprocmask(action,&ss,0); \
1N/A }while(0)
1N/A # define sigrelease(s) sh_sigaction(s,SIG_UNBLOCK)
1N/A # define sigblock(s) sh_sigaction(s,SIG_BLOCK)
1N/A # define sig_begin() sh_sigaction(0,SIG_SETMASK)
1N/A #else
1N/A # ifndef _lib_sigblock
1N/A # define sigblock(s)
1N/A # endif
1N/A # ifdef _lib_sigsetmask
1N/A # define sigrelease(s) sigsetmask(0)
1N/A # define sig_begin() sigsetmask(0)
1N/A # else
1N/A # ifdef _lib_sigrelse
1N/A # define sigrelease sigrelse
1N/A # define sig_begin()
1N/A # else
1N/A # define sig_begin() (0)
1N/A # define sigrelease(s) (0)
1N/A # endif /* _lib_sigrelse */
1N/A # endif /* _lib_sigsetmask */
1N/A #endif /* _lib_sigprocmask */
1N/A}end
1N/Atst output{
1N/A #include <signal.h>
1N/A int main()
1N/A {
1N/A #ifdef SIGRTMIN
1N/A printf("#undef _SIGRTMIN\n");
1N/A printf("#define _SIGRTMIN %d\n", SIGRTMIN);
1N/A #endif
1N/A #ifdef SIGRTMAX
1N/A printf("#undef _SIGRTMAX\n");
1N/A printf("#define _SIGRTMAX %d\n", SIGRTMAX);
1N/A #endif
1N/A return 0;
1N/A }
1N/A}end