(root)/
glibc-2.38/
signal/
tst-sigset.c
       1  /* Test sig*set functions.  */
       2  
       3  #include <signal.h>
       4  
       5  #include <support/check.h>
       6  
       7  static int
       8  do_test (void)
       9  {
      10    sigset_t set;
      11    TEST_VERIFY (sigemptyset (&set) == 0);
      12  
      13  #define VERIFY(set, sig)			\
      14    TEST_VERIFY (sigismember (&set, sig) == 0);	\
      15    TEST_VERIFY (sigaddset (&set, sig) == 0);	\
      16    TEST_VERIFY (sigismember (&set, sig) != 0);	\
      17    TEST_VERIFY (sigdelset (&set, sig) == 0);	\
      18    TEST_VERIFY (sigismember (&set, sig) == 0)
      19  
      20    /* ISO C99 signals.  */
      21    VERIFY (set, SIGINT);
      22    VERIFY (set, SIGILL);
      23    VERIFY (set, SIGABRT);
      24    VERIFY (set, SIGFPE);
      25    VERIFY (set, SIGSEGV);
      26    VERIFY (set, SIGTERM);
      27  
      28    /* Historical signals specified by POSIX. */
      29    VERIFY (set, SIGHUP);
      30    VERIFY (set, SIGQUIT);
      31    VERIFY (set, SIGTRAP);
      32    VERIFY (set, SIGKILL);
      33    VERIFY (set, SIGBUS);
      34    VERIFY (set, SIGSYS);
      35    VERIFY (set, SIGPIPE);
      36    VERIFY (set, SIGALRM);
      37  
      38    /* New(er) POSIX signals (1003.1-2008, 1003.1-2013).  */
      39    VERIFY (set, SIGURG);
      40    VERIFY (set, SIGSTOP);
      41    VERIFY (set, SIGTSTP);
      42    VERIFY (set, SIGCONT);
      43    VERIFY (set, SIGCHLD);
      44    VERIFY (set, SIGTTIN);
      45    VERIFY (set, SIGTTOU);
      46    VERIFY (set, SIGPOLL);
      47    VERIFY (set, SIGXCPU);
      48    VERIFY (set, SIGXFSZ);
      49    VERIFY (set, SIGVTALRM);
      50    VERIFY (set, SIGPROF);
      51    VERIFY (set, SIGUSR1);
      52    VERIFY (set, SIGUSR2);
      53  
      54    /* Nonstandard signals found in all modern POSIX systems
      55       (including both BSD and Linux).  */
      56    VERIFY (set, SIGWINCH);
      57  
      58    /* Arch-specific signals.  */
      59  #ifdef SIGEMT
      60    VERIFY (set, SIGEMT);
      61  #endif
      62  #ifdef SIGLOST
      63    VERIFY (set, SIGLOST);
      64  #endif
      65  #ifdef SIGINFO
      66    VERIFY (set, SIGINFO);
      67  #endif
      68  #ifdef SIGSTKFLT
      69    VERIFY (set, SIGSTKFLT);
      70  #endif
      71  #ifdef SIGPWR
      72    VERIFY (set, SIGPWR);
      73  #endif
      74  
      75    /* Read-time signals (POSIX.1b real-time extensions).  If they are
      76       supported SIGRTMAX value is greater than SIGRTMIN.  */
      77    for (int rtsig = SIGRTMIN; rtsig <= SIGRTMAX; rtsig++)
      78      {
      79        VERIFY (set, rtsig);
      80      }
      81  
      82    return 0;
      83  }
      84  
      85  #include <support/test-driver.c>