blob: bc1b05764ac0298ae93139416931f54484a46600 [file] [log] [blame]
yuezonghe824eb0c2024-06-27 02:32:26 -07001/* Test sig*set functions. */
2
3#include <signal.h>
4#include <string.h>
5#include <errno.h>
6#include <stdio.h>
7
8#define TEST_FUNCTION do_test ()
9static int
10do_test (void)
11{
12 int result = 0;
13 int sig = -1;
14
15#define TRY(call) \
16 if (call) \
17 { \
18 printf ("%s (sig = %d): %s\n", #call, sig, strerror(errno)); \
19 result = 1; \
20 } \
21 else
22
23
24 sigset_t set;
25 TRY (sigemptyset (&set) != 0);
26
27#ifdef SIGRTMAX
28 int max_sig = SIGRTMAX;
29#else
30 int max_sig = NSIG - 1;
31#endif
32
33 for (sig = 1; sig <= max_sig; ++sig)
34 {
35 TRY (sigismember (&set, sig) != 0);
36 TRY (sigaddset (&set, sig) != 0);
37 TRY (sigismember (&set, sig) == 0);
38 TRY (sigdelset (&set, sig) != 0);
39 TRY (sigismember (&set, sig) != 0);
40 }
41
42 return result;
43}
44
45#include "../test-skeleton.c"