Annotation of GNUtools/emacs/src/emacssignal.h, revision 1.1.1.1

1.1       root        1: #ifdef POSIX_SIGNALS
                      2: 
                      3: #define SIGMASKTYPE sigset_t
                      4: #define SIGEMPTYMASK (signal_empty_mask)
                      5: #define SIGFULLMASK (signal_full_mask)
                      6: extern sigset_t signal_empty_mask, signal_full_mask;
                      7: 
                      8: #ifdef sigmask
                      9: #undef sigmask
                     10: #endif
                     11: #define sigmask(SIG) \
                     12: (_mask = SIGEMPTYMASK, sigaddset (&_mask, SIG), _mask)
                     13: 
                     14: /* Local mask is used to avoid problems if code using any of the macros 
                     15:    below could be reentered due to a signal occurring.
                     16:    This can't happen in Emacs 18.58, but just to be safe... - DJB
                     17:    These macros require GCC.  */
                     18: #define sigpause(SIG)    ({ sigset_t _mask; sys_sigpause(SIG); })
                     19: #define sigblock(SIG)    ({ sigset_t _mask; sys_sigblock(SIG); })
                     20: #define sigunblock(SIG)  ({ sigset_t _mask; sys_sigunblock(SIG); })
                     21: #define sigsetmask(SIG)  ({ sigset_t _mask; sys_sigsetmask(SIG); })
                     22: #define sighold(SIG)     ONLY_USED_IN_BSD_4_1
                     23: #define sigrelse(SIG)    ONLY_USED_IN_BSD_4_1
                     24: 
                     25: int (*sys_signal (int signal_number, int (*action)())) ();
                     26: int sys_sigpause (sigset_t new_mask);
                     27: sigset_t sys_sigblock (sigset_t new_mask);
                     28: sigset_t sys_sigunblock (sigset_t new_mask);
                     29: sigset_t sys_sigsetmask (sigset_t new_mask);
                     30: 
                     31: #define sys_sigdel(MASK,SIG) sigdelset(&MASK,SIG)
                     32: #endif /* POSIX_SIGNALS */
                     33: 
                     34: #ifndef SIGMASKTYPE
                     35: #define SIGMASKTYPE int
                     36: #endif
                     37: 
                     38: #ifndef SIGEMPTYMASK
                     39: #define SIGEMPTYMASK 0
                     40: #endif
                     41: 
                     42: #ifndef SIGFULLMASK
                     43: #define SIGFULLMASK 0xffffffff
                     44: #endif
                     45: 
                     46: #ifndef sigmask
                     47: #define sigmask(no) (1L << ((no) - 1))
                     48: #endif
                     49: 
                     50: #ifndef sigunblock
                     51: #define sigunblock(SIG) \
                     52: { SIGMASKTYPE omask = sigblock (SIGFULLMASK); sigsetmask (omask & ~SIG); }
                     53: #endif
                     54: 
                     55: #ifndef sys_sigdel
                     56: #define sys_sigdel(MASK,SIG) MASK &= ~(1 << SIG)
                     57: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.