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;
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;
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: