X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=sched.h;h=234a8458d5870a1f14c66c81c140b61c0c20bf01;hp=74c3fc650650fdb6b9d49e7dd500155a9d1e3d39;hb=6bcd10bc4ada11a04bc2b7425afe5a8855592cd2;hpb=ff12b505b227585daf5aecc822d6b2e8841c2be7 diff --git a/sched.h b/sched.h index 74c3fc65..234a8458 100644 --- a/sched.h +++ b/sched.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2012 Andre Noll + * Copyright (C) 2006-2013 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -41,10 +41,7 @@ struct sched { * Before registering a task to the scheduler, the task structure must be * filled in properly by the caller. * - * If one of these functions sets \a t->error to a negative value, the - * task gets unregistered automatically. - * - * \sa struct sched. + * \sa \ref sched. */ struct task { /** @@ -55,11 +52,13 @@ struct task { */ void (*pre_select)(struct sched *s, struct task *t); /** - * The postselect hook of \a t. + * The post select hook of \a t. * - * Evaluate and act upon the results of the previous select call. + * Its purpose is to evaluate and act upon the results of the previous + * select call. If this function returns a negative value, the + * scheduler unregisters the task. */ - void (*post_select)(struct sched *s, struct task *t); + int (*post_select)(struct sched *s, struct task *t); /** Whether this task is in error state. */ int error; /** Position of the task in the pre_select list of the scheduler. */ @@ -76,7 +75,7 @@ struct task { * 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;