Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rdemeter
GitHub Repository: rdemeter/so
Path: blob/master/lab6/sigint_raise.c
221 views
1
#include <stdio.h>
2
#include <string.h>
3
#include <unistd.h>
4
#include <stdlib.h>
5
#include <signal.h>
6
7
void signalHandler( int signum ) {
8
printf("Caught signal %d.\n", signum);
9
10
// cleanup and close up stuff here
11
// terminate program
12
13
exit(signum);
14
}
15
16
int main () {
17
int i = 0;
18
// register signal SIGINT and signal handler
19
signal(SIGINT, signalHandler);
20
21
while(++i) {
22
printf("Going to sleep for 1 second....\n");
23
if( i == 3 ) {
24
raise( SIGINT );
25
}
26
sleep(1);
27
}
28
29
return 0;
30
}
31
32