X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=sched.c;h=65176bd91a875ab16ce07194299dbc9bde5a00a5;hb=3d6ca6e3ae198017164e544c59d622b11a5afdde;hp=9be3a2e83109f0db884c5fdebf3e7e62f4f9b3c5;hpb=290d89f17769d1ad8fe9abb5e432939268f74f1a;p=paraslash.git diff --git a/sched.c b/sched.c index 9be3a2e8..65176bd9 100644 --- a/sched.c +++ b/sched.c @@ -7,7 +7,6 @@ /** \file sched.c Paraslash's scheduling functions. */ #include -#include /* readdir() */ #include #include @@ -303,17 +302,19 @@ void sched_request_timeout_ms(long unsigned ms, struct sched *s) * \param barrier Absolute time before select() should return. * \param s Pointer to the scheduler struct. * - * If \a barrier is in the past, this function does nothing. + * \return If \a barrier is in the past, this function does nothing and returns + * zero. Otherwise it returns one. * * \sa sched_request_barrier_or_min_delay(). */ -void sched_request_barrier(struct timeval *barrier, struct sched *s) +int sched_request_barrier(struct timeval *barrier, struct sched *s) { struct timeval diff; if (tv_diff(now, barrier, &diff) > 0) - return; + return 0; sched_request_timeout(&diff, s); + return 1; } /** @@ -322,15 +323,19 @@ void sched_request_barrier(struct timeval *barrier, struct sched *s) * \param barrier Absolute time before select() should return. * \param s Pointer to the scheduler struct. * - * If \a barrier is in the past, this function requests a minimal timeout. + * If \a barrier is in the past, this function requests a minimal timeout and + * returns zero. Otherwise it returns one. * * \sa sched_min_delay(), sched_request_barrier(). */ -void sched_request_barrier_or_min_delay(struct timeval *barrier, struct sched *s) +int sched_request_barrier_or_min_delay(struct timeval *barrier, struct sched *s) { struct timeval diff; - if (tv_diff(now, barrier, &diff) > 0) - return sched_min_delay(s); + if (tv_diff(now, barrier, &diff) > 0) { + sched_min_delay(s); + return 0; + } sched_request_timeout(&diff, s); + return 1; }