diff options
author | Pierre Ossman <ossman@cendio.se> | 2006-01-05 18:09:46 +0000 |
---|---|---|
committer | Pierre Ossman <ossman@cendio.se> | 2006-01-05 18:09:46 +0000 |
commit | 7dcf4e45963b2aff840ea53bde4012e3c6cac9f8 (patch) | |
tree | fe1a7053b879607c652cc9b6f4a38c72b1aa9439 /polyp/main.c | |
parent | eacffc3e4d581f0fe57536e7ccfba7293623586c (diff) |
The standard declares some signals as optional. Make sure we handle
this gracefully.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/ossman@374 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'polyp/main.c')
-rw-r--r-- | polyp/main.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/polyp/main.c b/polyp/main.c index 26fa4a87..2e97e5cc 100644 --- a/polyp/main.c +++ b/polyp/main.c @@ -70,20 +70,26 @@ static void signal_callback(struct pa_mainloop_api*m, struct pa_signal_event *e, pa_log_info(__FILE__": Got signal %s.\n", pa_strsignal(sig)); switch (sig) { +#ifdef SIGUSR1 case SIGUSR1: pa_module_load(userdata, "module-cli", NULL); break; +#endif +#ifdef SIGUSR2 case SIGUSR2: pa_module_load(userdata, "module-cli-protocol-unix", NULL); break; +#endif +#ifdef SIGHUP case SIGHUP: { char *c = pa_full_status_string(userdata); pa_log_notice(c); pa_xfree(c); return; } +#endif case SIGINT: case SIGTERM: @@ -263,9 +269,15 @@ int main(int argc, char *argv[]) { open("/dev/null", O_WRONLY); open("/dev/null", O_WRONLY); +#ifdef SIGTTOU signal(SIGTTOU, SIG_IGN); +#endif +#ifdef SIGTTIN signal(SIGTTIN, SIG_IGN); +#endif +#ifdef SIGTSTP signal(SIGTSTP, SIG_IGN); +#endif if ((tty_fd = open("/dev/tty", O_RDWR)) >= 0) { ioctl(tty_fd, TIOCNOTTY, (char*) 0); @@ -292,16 +304,24 @@ int main(int argc, char *argv[]) { assert(r == 0); pa_signal_new(SIGINT, signal_callback, c); pa_signal_new(SIGTERM, signal_callback, c); +#ifdef SIGPIPE signal(SIGPIPE, SIG_IGN); +#endif c = pa_core_new(pa_mainloop_get_api(mainloop)); assert(c); if (conf->daemonize) c->running_as_daemon = 1; +#ifdef SIGUSR1 pa_signal_new(SIGUSR1, signal_callback, c); +#endif +#ifdef SIGUSR2 pa_signal_new(SIGUSR2, signal_callback, c); +#endif +#ifdef SIGHUP pa_signal_new(SIGHUP, signal_callback, c); +#endif r = pa_cpu_limit_init(pa_mainloop_get_api(mainloop)); assert(r == 0); |