X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=sched.h;h=07877c461b81b76e1c207478b88d57db1f1fafd9;hb=0e054b2c4339694951b20b93e0c189037c796ef2;hp=05b6c51e725b31bba2f75bf46d1faf714e5ebe2e;hpb=80ff4e0205b6eefa603835fdc30f7f32fbd21f9f;p=paraslash.git diff --git a/sched.h b/sched.h index 05b6c51e..07877c46 100644 --- a/sched.h +++ b/sched.h @@ -45,7 +45,7 @@ struct task_info { * Its purpose is to add file descriptors to the fd sets of the * scheduler and to decrease the select timeout if necessary. */ - void (*pre_select)(struct sched *s, struct task *t); + void (*pre_select)(struct sched *s, void *context); /** * The mandatory post select method. * @@ -53,12 +53,11 @@ struct task_info { * select call. If this function returns a negative value, the * scheduler unregisters the task. */ - int (*post_select)(struct sched *s, struct task *t); + int (*post_select)(struct sched *s, void *context); /** - * This pointer is saved when the task is register(ed). It may be - * queried from ->pre_select() and ->post_select() via \ref - * task_context(). Usually this is a pointer to the struct owned by the - * caller which contains the task pointer as one member. + * This pointer is saved when the task is registered. It is passed to + * ->pre_select() and ->post_select(). Usually this is a pointer to the + * struct owned by the caller which contains the task pointer. */ void *context; }; @@ -69,10 +68,9 @@ struct task_info { * scheduler are allowed to block, this value should be accurate enough so that * there is no need to call clock_gettime() directly. */ -extern struct timeval *now; +extern const struct timeval *now; struct task *task_register(struct task_info *info, struct sched *s); -void *task_context(struct task *t); int schedule(struct sched *s); void sched_shutdown(struct sched *s); char *get_task_list(struct sched *s);