Annotation of GNUtools/emacs/src/emacssignal.h, revision 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.