1
/* This is file signal.c
3
** Copyright (C) 1992 Rami EL CHARIF and William SCHELTER
4
** rcharif@ma.utexas.edu wfs@cs.utexas.edu
6
** Signal package for djgpp versions 1.05, 1.06
7
** version 0.0 alpha 03/30/1992
9
** Send your comments or bugs report to
10
** rcharif@ma.utexas.edu or wfs@cs.utexas.edu
12
** This file is distributed WITHOUT ANY WARRANTY; without even the implied
13
** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
20
unsigned long SignalTable[_NSIG + 1] = {
21
(unsigned long)SIG_DFL, /* SIGHUP */
22
(unsigned long)SIG_DFL, /* SIGINT +*/
23
(unsigned long)SIG_DFL, /* SIGQUIT */
24
(unsigned long)SIG_DFL, /* SIGILL */
25
(unsigned long)SIG_DFL, /* SIGABRT */
26
(unsigned long)SIG_DFL, /* SIGTRAP */
27
(unsigned long)SIG_DFL, /* SIGIOT */
28
(unsigned long)SIG_DFL, /* SIGEMT */
29
(unsigned long)SIG_DFL, /* SIGFPE */
30
(unsigned long)SIG_DFL, /* SIGKILL */
31
(unsigned long)SIG_DFL, /* SIGBUS */
32
(unsigned long)SIG_DFL, /* SIGSEGV +*/
33
(unsigned long)SIG_DFL, /* SIGSYS */
34
(unsigned long)SIG_DFL, /* SIGPIPE */
35
(unsigned long)SIG_DFL, /* SIGALRM */
36
(unsigned long)SIG_DFL, /* SIGTERM */
37
(unsigned long)SIG_DFL, /* SIGURG */
38
(unsigned long)SIG_DFL, /* SIGSTOP */
39
(unsigned long)SIG_DFL, /* SIGTSTP */
40
(unsigned long)SIG_DFL, /* SIGCONT */
41
(unsigned long)SIG_DFL, /* SIGCHLD */
42
(unsigned long)SIG_DFL, /* SIGCLD */
43
(unsigned long)SIG_DFL, /* SIGTTIN */
44
(unsigned long)SIG_DFL, /* SIGTTOU */
45
(unsigned long)SIG_DFL, /* SIGIO */
46
(unsigned long)SIG_DFL, /* SIGPOLL */
47
(unsigned long)SIG_DFL, /* SIGXCPU */
48
(unsigned long)SIG_DFL, /* SIGXFSZ */
49
(unsigned long)SIG_DFL, /* SIGVTALRM */
50
(unsigned long)SIG_DFL, /* SIGPROF */
51
(unsigned long)SIG_DFL, /* SIGWINCH */
52
(unsigned long)SIG_DFL, /* SIGUSR1 */
53
(unsigned long)SIG_DFL /* SIGUSR2 */
56
SignalHandler signal(int sig, SignalHandler action)
58
extern void SignalManager();
60
SignalHandler hsigOld;
64
SignalTable[sig] = in.x.dx = (long)action;
65
in.x.cx = (long)SignalManager;
66
int86(0xfa, &in, &out);
67
hsigOld = (SignalHandler)out.x.dx;
74
extern void SignalManager();
78
in.x.dx = (long)SignalManager;
81
printf("\nSignal Manager = %ld, %lx", in.x.dx, in.x.dx);
84
int86(0xfa, &in, &out);
89
unsigned int alarm(int culSeconds)
95
in.h.ah = 3; /* Reset alarm */
96
int86(0xfa, &in, &out);
100
in.x.dx = culSeconds;
101
int86(0xfa, &in, &out);
106
unsigned int alarm(int n)