X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=afs.c;h=96621e4b62aa52b575f8881e1f5ba826f44259d7;hp=1d23c9ff6897828eec8753f84399797fb6d2033c;hb=720908589d8c03c96c33f3033c0817c599a7c8b0;hpb=0c5e3f4c2f95d6a73bf840bc82dd0a1ce91e4016 diff --git a/afs.c b/afs.c index 1d23c9ff..96621e4b 100644 --- a/afs.c +++ b/afs.c @@ -89,7 +89,7 @@ extern struct misc_meta_data *mmd; static int server_socket; static struct command_task command_task_struct; -static struct signal_task signal_task_struct; +static struct signal_task *signal_task; static enum play_mode current_play_mode; static char *current_mop; /* mode or playlist specifier. NULL means dummy mood */ @@ -747,20 +747,17 @@ shutdown: static void register_signal_task(struct sched *s) { - struct signal_task *st = &signal_task_struct; - para_sigaction(SIGPIPE, SIG_IGN); - st->fd = para_signal_init(); - PARA_INFO_LOG("signal pipe: fd %d\n", st->fd); + signal_task = signal_init_or_die(); para_install_sighandler(SIGINT); para_install_sighandler(SIGTERM); para_install_sighandler(SIGHUP); - st->task = task_register(&(struct task_info) { + signal_task->task = task_register(&(struct task_info) { .name = "signal", .pre_select = signal_pre_select, .post_select = afs_signal_post_select, - .context = st, + .context = signal_task, }, s); }