From: Andre Noll Date: Mon, 11 Jan 2010 00:03:11 +0000 (+0100) Subject: sched: Add some helper functions. X-Git-Tag: v0.4.2~163 X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=commitdiff_plain;h=4fcc1b13adffb4c9d320fbef2fe4e9b75dd2c5f9;ds=inline sched: Add some helper functions. --- diff --git a/sched.c b/sched.c index 328b8961..14346ec0 100644 --- a/sched.c +++ b/sched.c @@ -250,3 +250,22 @@ int kill_task(char *id) } return -E_NO_SUCH_TASK; } + +void sched_min_delay(struct sched *s) +{ + s->timeout.tv_sec = 0; + s->timeout.tv_usec = 1; +} + +void sched_request_timeout(struct timeval *timeout, struct sched *s) +{ + if (tv_diff(&s->timeout, timeout, NULL) > 0) + s->timeout = *timeout; +} + +void sched_request_timeout_ms(long unsigned ms, struct sched *s) +{ + struct timeval tv; + ms2tv(ms, &tv); + sched_request_timeout(&tv, s); +} diff --git a/sched.h b/sched.h index 35b5c636..f119025c 100644 --- a/sched.h +++ b/sched.h @@ -79,3 +79,6 @@ int schedule(struct sched *s); char *get_task_list(void); int kill_task(char *id); void sched_shutdown(void); +void sched_min_delay(struct sched *s); +void sched_request_timeout(struct timeval *timeout, struct sched *s); +void sched_request_timeout_ms(long unsigned ms, struct sched *s);