From 4fcc1b13adffb4c9d320fbef2fe4e9b75dd2c5f9 Mon Sep 17 00:00:00 2001 From: Andre Noll Date: Mon, 11 Jan 2010 01:03:11 +0100 Subject: [PATCH] sched: Add some helper functions. --- sched.c | 19 +++++++++++++++++++ sched.h | 3 +++ 2 files changed, 22 insertions(+) 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); -- 2.39.5