PARA_INFO_LOG("closing %s\n", writer_names[wn->writer_num]);
w->close(wn);
btr_remove_node(&wn->btrn);
PARA_INFO_LOG("closing %s\n", writer_names[wn->writer_num]);
w->close(wn);
btr_remove_node(&wn->btrn);
-static void signal_setup_default(struct signal_task *st)
-{
- st->task.pre_select = signal_pre_select;
- st->task.post_select = signal_post_select;
- sprintf(st->task.status, "signal task");
-}
-
static void command_pre_select(struct sched *s, struct task *t)
{
struct command_task *ct = container_of(t, struct command_task, task);
static void command_pre_select(struct sched *s, struct task *t)
{
struct command_task *ct = container_of(t, struct command_task, task);
- if (st->ct->task.error >= 0) {
- task_notify(&st->ct->task, E_AUDIOD_OFF);
+ if (st->ct->task->error >= 0) {
+ task_notify(st->ct->task, E_AUDIOD_OFF);
goto out;
}
btr_merge(st->btrn, st->min_iqs);
sz = btr_next_buffer(st->btrn, &buf);
ret = for_each_stat_item(buf, sz, update_item);
if (ret < 0) {
goto out;
}
btr_merge(st->btrn, st->min_iqs);
sz = btr_next_buffer(st->btrn, &buf);
ret = for_each_stat_item(buf, sz, update_item);
if (ret < 0) {
- register_task(&sched, &sig_task->task);
+ sig_task->task = task_register(&(struct task_info) {
+ .name = "signal",
+ .pre_select = signal_pre_select,
+ .post_select = signal_post_select,
+ .context = sig_task,
+ }, &sched);
register_task(&sched, &cmd_task->task);
register_task(&sched, &stat_task->task);
sched.default_timeout.tv_sec = 2;
register_task(&sched, &cmd_task->task);
register_task(&sched, &stat_task->task);
sched.default_timeout.tv_sec = 2;