/* signal blocking stuff for MiNT */ #include #include #include #include extern int __mint; extern long _sigpending, _sigmask; /* checksigs: for TOS: this checks to see if we just unmasked any * pending signals */ static void checksigs() { register int sig; register long send; if (send = (_sigpending & ~_sigmask)) { for (sig = 0; sig < NSIG; sig++) { if (send & (1L << sig)) kill(0, sig); } } } long sigsetmask(mask) long mask; { register long omask; if (__mint) return Psigsetmask(mask); omask = _sigmask; _sigmask = mask; checksigs(_sigmask); return omask; } long sigblock(mask) long mask; { register long omask; if (__mint) return Psigblock(mask); omask = _sigmask; _sigmask |= mask; return omask; }