/*
- * Copyright (C) 2007-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2007-2014 Andre Noll <maan@systemlinux.org>
*
* Licensed under the GPL v2. For licencing details see COPYING.
*/
static void signal_pre_select(struct sched *s, struct task *t)
{
- struct signal_task *st = container_of(t, struct signal_task, task);
+ struct signal_task *st = task_context(t);
para_fd_set(st->fd, &s->rfds, &s->max_fileno);
}
para_install_sighandler(SIGTERM);
para_install_sighandler(SIGHUP);
- st->task.pre_select = signal_pre_select;
- st->task.post_select = afs_signal_post_select;
- sprintf(st->task.status, "signal task");
- register_task(s, &st->task);
+ st->task = task_register(&(struct task_info) {
+ .name = "signal",
+ .pre_select = signal_pre_select,
+ .post_select = afs_signal_post_select,
+ .context = st,
+
+ }, s);
}
static struct list_head afs_client_list;