X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=audiod.c;h=7afff93e263630da1a3692b7ca4b9f28c50fa973;hp=aebc063ff28cabf2ec92966fa589dbf57c904d7e;hb=f243d8484f4c4d9d2833ed6ca955621ede48a9ab;hpb=1023721b3a7bf7f642b3e4d034c2314a3dc7becb diff --git a/audiod.c b/audiod.c index aebc063f..7afff93e 100644 --- a/audiod.c +++ b/audiod.c @@ -275,7 +275,7 @@ static void open_filters(int slot_num) return; PARA_INFO_LOG("opening %s filters\n", audio_formats[s->format]); s->fc = para_calloc(sizeof(struct filter_chain)); - s->fc->filter_nodes = para_malloc(nf * sizeof(struct filter_chain)); + s->fc->filter_nodes = para_malloc(nf * sizeof(struct filter_node)); s->fc->inbuf = s->receiver_node->buf; s->fc->in_loaded = &s->receiver_node->loaded; s->fc->input_error = &s->receiver_node->task.error; @@ -383,8 +383,7 @@ static int receiver_running(int format) FOR_EACH_SLOT(i) { struct slot_info *s = &slot[i]; - if (s->format == format && s->receiver_node - && s->receiver_node->task.error >= 0) + if (s->format == format && s->receiver_node) return 1; } return 0; @@ -757,13 +756,12 @@ static void signal_pre_select(struct sched *s, struct task *t) static void signal_post_select(struct sched *s, struct task *t) { struct signal_task *st = container_of(t, struct signal_task, task); - int signum; if (!FD_ISSET(st->fd, &s->rfds)) return; - signum = para_next_signal(); - switch (signum) { + st->signum = para_next_signal(); + switch (st->signum) { case SIGINT: case SIGTERM: case SIGHUP: