/*
- * Copyright (C) 2005-2011 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2012 Andre Noll <maan@systemlinux.org>
*
* Licensed under the GPL v2. For licencing details see COPYING.
*/
#include <regex.h>
#include <sys/types.h>
-#include <stdbool.h>
#include "para.h"
#include "string.h"
out:
t->error = ret;
if (ret < 0)
- btr_remove_node(btrn);
+ btr_remove_node(&cwt->btrn);
}
static int loglevel;
* \return Standard.
*/
static void setup_writer_node(const char *arg, struct btr_node *parent,
- struct writer_node *wn)
+ struct writer_node *wn, struct sched *s)
{
if (arg)
wn->conf = check_writer_arg_or_die(arg, &wn->writer_num);
wn->writer_num = DEFAULT_WRITER;
wn->conf = writers[DEFAULT_WRITER].parse_config_or_die("");
}
- register_writer_node(wn, parent);
+ register_writer_node(wn, parent, s);
}
static int setup_and_schedule(void)
sit.btrn = btr_new_node(&(struct btr_node_description)
EMBRACE(.name = "stdin"));
stdin_set_defaults(&sit);
- register_task(&sit.task);
+ register_task(&s, &sit.task);
cwt->state = CWS_NEED_HEADER;
cwt->min_iqs = WAV_HEADER_LEN;
cwt->task.pre_select = check_wav_pre_select;
cwt->task.post_select = check_wav_post_select;
cwt->task.error = 0;
- register_task(&cwt->task);
+ register_task(&s, &cwt->task);
if (!conf.writer_given) {
wns = para_calloc(sizeof(*wns));
- setup_writer_node(NULL, cwt->btrn, wns);
+ setup_writer_node(NULL, cwt->btrn, wns, &s);
i = 1;
} else {
wns = para_calloc(conf.writer_given * sizeof(*wns));
for (i = 0; i < conf.writer_given; i++)
setup_writer_node(conf.writer_arg[i], cwt->btrn,
- wns + i);
+ wns + i, &s);
}
s.default_timeout.tv_sec = 10;
struct writer *w = writers + wn->writer_num;
w->close(wn);
- btr_free_node(wn->btrn);
+ btr_remove_node(&wn->btrn);
w->free_config(wn->conf);
free(wn->conf);
}
free(wns);
- btr_free_node(cwt->btrn);
+ btr_remove_node(&cwt->btrn);
return ret;
}