sigmisc.c 715 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. /*
  2. * sigmisc.c - used to get a signal mask
  3. */
  4. /* $Id$ */
  5. #if defined(_POSIX_SOURCE)
  6. /* This can't be done in setjmp.e, since SIG_SETMASK is defined in
  7. * <signal.h>. This is a C-file, which can't be included.
  8. */
  9. #include <sys/types.h>
  10. #include <signal.h>
  11. #include <stddef.h>
  12. int _sigprocmask(int, sigset_t *, sigset_t *);
  13. static void
  14. __testsigset(void) {
  15. /* This switch compiles when a sigset_t has the right size. */
  16. switch(0) {
  17. case 0:
  18. case sizeof(sigset_t) <= sizeof(long): break;
  19. }
  20. }
  21. void
  22. __newsigset(sigset_t *p)
  23. {
  24. /* The SIG_SETMASK is not significant */
  25. _sigprocmask(SIG_SETMASK, NULL, p);
  26. }
  27. void
  28. __oldsigset(sigset_t *p)
  29. {
  30. _sigprocmask(SIG_SETMASK, p, NULL);
  31. }
  32. #endif /* _POSIX_SOURCE */