home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / emacs-19.28-src.tgz / tar.out / fsf / emacs / unixlib / src / sigsetmask.c < prev    next >
C/C++ Source or Header  |  1996-09-28  |  400b  |  23 lines

  1. #include "amiga.h"
  2. #include "signals.h"
  3.  
  4. long sigsetmask(long mask)
  5. {
  6.   int oldmask = _sig_mask, i, imask;
  7.  
  8.   chkabort();
  9.   _sig_mask = mask;
  10.  
  11.   /* Check all pending signals */
  12.   for (i = 0, imask = 1; i < NSIG; i++, imask <<= 1)
  13.     if ((_sig_pending & imask) && !(_sig_mask & imask))
  14.       _sig_dispatch(i);
  15.  
  16.   return oldmask;
  17. }
  18.  
  19. long sigblock(long mask)
  20. {
  21.   return sigsetmask(_sig_mask | mask);
  22. }
  23.