blob: 53274e9677757c74e1596c0cf762ce0c5122c37e [file] [log] [blame]
philippe0447bbd2012-10-17 21:32:03 +00001#include <signal.h>
2#include <stdio.h>
3#include <stdlib.h>
4#include <string.h>
5#include <unistd.h>
6
7int
8main (int argc, char **argv)
9{
10 fprintf(stderr, "starting ...\n");
11
12 // Three ways of going away...
13 if (argc > 1)
14 {
15 // Explicit exit() with exit code.
16 if (strcmp (argv[1], "exit") == 0)
17 {
18 fprintf(stderr, "exiting ...\n");
19 exit (1);
20 }
21
22 // Get killed by a signal.
23 if (strcmp (argv[1], "abort") == 0)
24 {
25 fprintf(stderr, "aborting ...\n");
26 kill(getpid(), SIGABRT);
27 }
28 }
29
30 // And finally, just return from main with success.
31 fprintf(stderr, "returning ...\n");
32 return 0;
33}