X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=signal.h;h=d9e98e78a635930577038d6090c9d5260772ddec;hb=be5daec66f163725489f42d512659a8af5c3fd59;hp=2f3422e2f6e3912350cb92583d5ad01f01e08392;hpb=4ddaef74ff8f605a31c499d77fcaaffa7a3708c0;p=paraslash.git diff --git a/signal.h b/signal.h index 2f3422e2..d9e98e78 100644 --- a/signal.h +++ b/signal.h @@ -13,25 +13,24 @@ struct signal_task { }; /** - * A generic pre-select method for signal tasks. + * Monitor the signal fd for reading. * - * \param s Passed to para_fd_set(). + * \param s The scheduler instance. * \param context Signal task pointer. * * This convenience helper is called from several programs which need to handle - * signals, including para_server and para_audiod. These programs define a - * signal task structure and set its ->pre_select method to this function which - * adds the file descriptor of the signal task to the set of descriptors to be - * watched in the next select() call. + * signals, including para_server and para_audiod. These programs set up a + * signal pipe and a signal task structure, and use this function to tell the + * scheduler to monitor the read end of the pipe. * * Although the second parameter must be in fact a pointer to a signal_task - * structure, the parameter is specified as void * here to match the - * ->pre_select method of struct task. + * structure, the parameter is specified as void * here to match the signature + * declared in struct \ref task_info. */ -_static_inline_ void signal_pre_select(struct sched *s, void *context) +_static_inline_ void signal_pre_monitor(struct sched *s, void *context) { struct signal_task *st = context; - para_fd_set(st->fd, &s->rfds, &s->max_fileno); + sched_monitor_readfd(st->fd, s); } struct signal_task *signal_init_or_die(void);