X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=sched.h;h=021474a21a5303d405d91b985a0a70de1d198801;hp=b3df0b66b180bd1f3f2f48f784c07a187fbac712;hb=24758c5f;hpb=ef1f130a1f9ac61a51da10ee56c5bd9ef1b52366 diff --git a/sched.h b/sched.h index b3df0b66..021474a2 100644 --- a/sched.h +++ b/sched.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2011 Andre Noll + * Copyright (C) 2006-2013 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -68,20 +68,24 @@ struct task { struct list_head post_select_node; /** Descriptive text and current status of the task. */ char status[255]; + /** If less than zero, the task was notified by another task. */ + int notification; }; /** * This is set by the scheduler at the beginning of its main loop. It may be * used (read-only) from everywhere. As none of the functions called by the * scheduler are allowed to block, this value should be accurate enough so that - * there is no need to call gettimeofday() directly. + * there is no need to call clock_gettime() directly. */ extern struct timeval *now; void register_task(struct sched *s, struct task *t); int schedule(struct sched *s); char *get_task_list(struct sched *s); -void sched_shutdown(struct sched *s); +void task_notify(struct task *t, int err); +void task_notify_all(struct sched *s, int err); +int task_get_notification(struct task *t); 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);