Added php based registration web for Tunnel6 server - especially for free hosting...
[tunnel6.git] / client / src / sig.c
blobd10aa3e46f964c777ab6ec817d4f623092544714
1 /*
2 * tunnel6
3 * Copyright (C) 2010 Tomas 'ZeXx86' Jedrzejek (zexx86@zexos.org)
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
20 #include <stdio.h>
21 #include <string.h>
22 #include <signal.h>
23 #include <unistd.h>
24 #include "defaults.h"
26 extern int cont;
28 void sig_term (int z)
30 printf ("> WARNING -> term signal -> type %d\n", z);
32 cont = 0;
35 int sig_init ()
37 #ifndef __WIN32__
38 struct sigaction sv;
40 memset (&sv, 0, sizeof (struct sigaction));
41 sv.sa_flags = 0;
42 sigemptyset (&sv.sa_mask);
44 sv.sa_handler = SIG_IGN;
46 /* Don't want broken pipes to kill the client. */
47 sigaction (SIGPIPE, &sv, NULL);
49 /* ...or any defunct child processes. */
50 sigaction (SIGCHLD, &sv, NULL);
52 sv.sa_handler = sig_term;
54 /* Also, shut down properly. */
55 sigaction (SIGTERM, &sv, NULL);
56 sigaction (SIGINT, &sv, NULL);
57 #endif
58 return 0;