source: roaraudio/roard/signals.c @ 3358:7f9d211148e0

Last change on this file since 3358:7f9d211148e0 was 2732:e252b7298b6a, checked in by phi, 15 years ago

added handler for SIGTERM

File size: 1.5 KB
Line 
1//signals.c:
2
3/*
4 *      Copyright (C) Philipp 'ph3-der-loewe' Schafft - 2008
5 *
6 *  This file is part of roard a part of RoarAudio,
7 *  a cross-platform sound system for both, home and professional use.
8 *  See README for details.
9 *
10 *  This file is free software; you can redistribute it and/or modify
11 *  it under the terms of the GNU General Public License version 3
12 *  as published by the Free Software Foundation.
13 *
14 *  RoarAudio is distributed in the hope that it will be useful,
15 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
16 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 *  GNU General Public License for more details.
18 *
19 *  You should have received a copy of the GNU General Public License
20 *  along with this software; see the file COPYING.  If not, write to
21 *  the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
22 *
23 */
24
25#include "roard.h"
26
27// we should add signal handling on micro controllsers here.
28
29#if !defined(ROAR_TARGET_MICROCONTROLLER) && !defined(ROAR_TARGET_WIN32)
30
31void on_sig_int (int signum) {
32 ROAR_DBG("got SIGINT");
33
34 // TODO: implement some kind of termonate/force depending on how many ^Cs we get
35 on_sig_term(signum);
36}
37
38void on_sig_term (int signum) {
39 ROAR_DBG("got SIGTERM (or called by SIGINT handler)");
40
41 alive = 0;
42 clean_quit();
43}
44
45void on_sig_chld (int signum) {
46 ROAR_DBG("got SIGCHLD");
47
48 wait(NULL);
49
50 signal(SIGCHLD, on_sig_chld);
51}
52
53void on_sig_usr1 (int signum) {
54 ROAR_DBG("got SIGUSR1");
55
56 cleanup_listen_socket(1);
57}
58
59#endif
60
61
62//ll
Note: See TracBrowser for help on using the repository browser.