X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=audiod.c;h=7afff93e263630da1a3692b7ca4b9f28c50fa973;hp=b880eb7f5d819ec60924587b32c72eee20b3bde9;hb=f243d8484f4c4d9d2833ed6ca955621ede48a9ab;hpb=353e26aabd3849379ee960874d2219d36cc4d62f diff --git a/audiod.c b/audiod.c index b880eb7f..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: @@ -1031,7 +1029,7 @@ int main(int argc, char *argv[]) { char *config_file; int ret, i; - struct sched s; + static struct sched s; struct command_task command_task_struct, *cmd_task = &command_task_struct; struct audiod_cmdline_parser_params params = { .override = 0,