X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=audiod.c;h=012f6344e7120f2cc4e17992d0719252a51ed0cd;hp=f0d450a6ee49ea784c226aa1b8ae04bff6ce0b95;hb=f8a941c97b6d0a891d0e075c4996d033a7db63bf;hpb=8dab386f87d2998fd26126600ca7faf56d5a35d1;ds=sidebyside diff --git a/audiod.c b/audiod.c index f0d450a6..012f6344 100644 --- a/audiod.c +++ b/audiod.c @@ -980,19 +980,16 @@ static void signal_pre_select(struct sched *s, struct task *t) para_fd_set(st->fd, &s->rfds, &s->max_fileno); } -static void signal_post_select(struct sched *s, struct task *t) +static void signal_post_select(struct sched *s, __a_unused struct task *t) { - struct signal_task *st = container_of(t, struct signal_task, task); - - if (!FD_ISSET(st->fd, &s->rfds)) - return; + int signum; - st->signum = para_next_signal(); - switch (st->signum) { + signum = para_next_signal(&s->rfds); + switch (signum) { case SIGINT: case SIGTERM: case SIGHUP: - PARA_EMERG_LOG("terminating on signal %d\n", st->signum); + PARA_EMERG_LOG("terminating on signal %d\n", signum); clean_exit(EXIT_FAILURE, "caught deadly signal"); } }