]> pd.if.org Git - pdclib/blob - functions/signal.c
Re-import from Subversion.
[pdclib] / functions / signal.c
1 /* ----------------------------------------------------------------------------
2  * $Id$
3  * ----------------------------------------------------------------------------
4  * Public Domain C Library - http://pdclib.sourceforge.net
5  * This code is Public Domain. Use, modify, and redistribute at will.
6  * --------------------------------------------------------------------------*/
7
8 /* PDPC code - unreviewed
9 static void (*handlers[6])(int) = {
10     __sigdfl,
11     __sigdfl,
12     __sigdfl,
13     __sigdfl,
14     __sigdfl,
15     __sigdfl };
16
17 void __sigdfl(int sig)
18 {
19     handlers[sig] = SIG_DFL;
20     if (sig == SIGABRT)
21     {
22         exit(EXIT_FAILURE);
23     }
24     return;
25 }
26
27 void __sigerr(int sig)
28 {
29     (void)sig;
30     return;
31 }
32
33 void __sigign(int sig)
34 {
35     (void)sig;
36     return;
37 }
38
39 #define SIG_DFL __sigdfl
40 #define SIG_ERR __sigerr
41 #define SIG_IGN __sigign
42
43 #define SIGABRT 1
44 #define SIGFPE 2
45 #define SIGILL 3
46 #define SIGINT 4
47 #define SIGSEGV 5
48 #define SIGTERM 6
49 */
50
51 int raise( int sig ) { /* TODO */ };
52
53 /* PDPC code - unreviewed
54 {
55     (handlers[sig])(sig);
56     return (0);
57 }
58 */
59
60 void ( * signal( int sig, void ( *func )( int ) ) ) ( int ) { /* TODO */ };
61
62 /* PDPC code - unreviewed
63 {
64     handlers[sig] = func;
65     return (func);
66 }    
67 */