X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=sched.h;h=b3df0b66b180bd1f3f2f48f784c07a187fbac712;hp=e018c2fe9d0c35d2431b96967f97eb69f8ea0238;hb=85094cd802bdb606d4e2bf7ed66dec51db2a0953;hpb=290d89f17769d1ad8fe9abb5e432939268f74f1a diff --git a/sched.h b/sched.h index e018c2fe..b3df0b66 100644 --- a/sched.h +++ b/sched.h @@ -29,6 +29,10 @@ struct sched { int max_fileno; /** If non-NULL, use this function instead of para_select. */ int (*select_function)(int, fd_set *, fd_set *, struct timeval *); + /** Currently active pre_select functions. */ + struct list_head pre_select_list; + /** Currently active post_select functions. */ + struct list_head post_select_list; }; /** @@ -74,12 +78,12 @@ struct task { */ extern struct timeval *now; -void register_task(struct task *t); +void register_task(struct sched *s, struct task *t); int schedule(struct sched *s); -char *get_task_list(void); -void sched_shutdown(void); +char *get_task_list(struct sched *s); +void sched_shutdown(struct sched *s); void sched_min_delay(struct sched *s); void sched_request_timeout(struct timeval *to, struct sched *s); void sched_request_timeout_ms(long unsigned ms, struct sched *s); -void sched_request_barrier(struct timeval *barrier, struct sched *s); -void sched_request_barrier_or_min_delay(struct timeval *barrier, struct sched *s); +int sched_request_barrier(struct timeval *barrier, struct sched *s); +int sched_request_barrier_or_min_delay(struct timeval *barrier, struct sched *s);