1 /* This file provides routines to check for the use of signals by software */
8 /* In order to quiet noisy C compilers, we provide ANSI-style prototypes
10 int SYiCheckSig ( FILE *, int, const char * );
11 int SYCheckSignals ( FILE * );
14 int SYiCheckSig( fp, sig, signame )
19 static int firstmsg = 1;
20 struct sigaction libsig;
22 sigaction( sig, NULL, &libsig);
23 if (libsig.sa_handler != SIG_IGN && libsig.sa_handler != SIG_DFL) {
26 fprintf( fp, "Some signals have been changed. This is not an error\n\
27 but rather is a warning that user programs should not redefine the signals\n\
30 fprintf( fp, "Signal %s has been changed\n", signame );
36 int SYiCheckSig( fp, sig, signame )
42 static int firstmsg = 1;
44 oldsig = signal(sig,SIG_IGN);
45 if (oldsig != SIG_IGN && oldsig != SIG_DFL) {
48 fprintf( fp, "Some signals have been changed. This is not an error\n\
49 but rather is a warning that user programs should not redefine the signals\n\
52 fprintf( fp, "Signal %s has been changed\n", signame );
60 int SYCheckSignals( fp )
66 ndiff += SYiCheckSig( fp, SIGHUP, "SIGHUP" );
70 ndiff += SYiCheckSig( fp, SIGINT, "SIGINT" );
74 ndiff += SYiCheckSig( fp, SIGQUIT, "SIGQUIT" );
78 ndiff += SYiCheckSig( fp, SIGILL, "SIGILL" );
82 ndiff += SYiCheckSig( fp, SIGTRAP, "SIGTRAP" );
86 ndiff += SYiCheckSig( fp, SIGIOT, "SIGIOT" );
90 ndiff += SYiCheckSig( fp, SIGABRT, "SIGABRT" );
94 ndiff += SYiCheckSig( fp, SIGEMT, "SIGEMT" );
98 ndiff += SYiCheckSig( fp, SIGFPE, "SIGFPE" );
102 ndiff += SYiCheckSig( fp, SIGBUS, "SIGBUS" );
106 ndiff += SYiCheckSig( fp, SIGSEGV, "SIGSEGV" );
110 ndiff += SYiCheckSig( fp, SIGSYS, "SIGSYS" );
114 ndiff += SYiCheckSig( fp, SIGPIPE, "SIGPIPE" );
118 ndiff += SYiCheckSig( fp, SIGALRM, "SIGALRM" );
122 ndiff += SYiCheckSig( fp, SIGTERM, "SIGTERM" );
126 ndiff += SYiCheckSig( fp, SIGURG, "SIGURG" );
130 ndiff += SYiCheckSig( fp, SIGTSTP, "SIGTSTP" );
134 ndiff += SYiCheckSig( fp, SIGCONT, "SIGCONT" );
138 ndiff += SYiCheckSig( fp, SIGCHLD, "SIGCHLD" );
142 ndiff += SYiCheckSig( fp, SIGTTIN, "SIGTTIN" );
146 ndiff += SYiCheckSig( fp, SIGTTOU, "SIGTTOU" );
150 ndiff += SYiCheckSig( fp, SIGIO, "SIGIO" );
154 ndiff += SYiCheckSig( fp, SIGPOLL, "SIGPOLL" );
158 ndiff += SYiCheckSig( fp, SIGXCPU, "SIGXCPU" );
162 ndiff += SYiCheckSig( fp, SIGXFSZ, "SIGXFSZ" );
166 ndiff += SYiCheckSig( fp, SIGVTALRM, "SIGVTALRM" );
170 ndiff += SYiCheckSig( fp, SIGPROF, "SIGPROF" );
174 ndiff += SYiCheckSig( fp, SIGWINCH, "SIGWINCH" );
178 ndiff += SYiCheckSig( fp, SIGLOST, "SIGLOST" );
182 ndiff += SYiCheckSig( fp, SIGUSR1, "SIGUSR1" );
186 ndiff += SYiCheckSig( fp, SIGUSR2, "SIGUSR2" );
193 int main( int argc, char **argv )
196 MPI_Init( &argc, &argv );
197 err = SYCheckSignals( stdout );