[go: up one dir, main page]

File: signal.c

package info (click to toggle)
rdup 1.1.11-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 1,324 kB
  • sloc: ansic: 3,840; sh: 3,361; exp: 271; makefile: 78; ruby: 36; perl: 4
file content (41 lines) | stat: -rw-r--r-- 789 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/*
 * Copyright (c) 2005 - 2011 Miek Gieben
 * See LICENSE for the license
 */

#include "rdup.h"

extern int sig;

void
got_sig(int signal)
{
	sig = signal;
}

/**
 * we received a signal
 */
void
signal_abort(int signal)
{
	int status;
        switch(signal) {
                case SIGPIPE:
                        msg(_("SIGPIPE received, exiting"));
                        break;
                case SIGINT:
                        msg(_("SIGINT received, exiting"));
                        break;
		case SIGCHLD:
			(void)wait(&status);
#ifdef DEBUG
			msg("Wait stat: %d\n", status);
#endif /* DEBUG */
			return;
                default:
                        msg(_("Unhandled signal reveived, exiting"));
                        break;
        }
        exit(EXIT_FAILURE);
}