]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - sched.c
sched: Use integer value for select timeout.
[paraslash.git] / sched.c
diff --git a/sched.c b/sched.c
index aac8efed1bcf8d897e6aef4d07973f2babc8d4f4..8deb7f383596162e97444c7766f6d15bc60eb92c 100644 (file)
--- a/sched.c
+++ b/sched.c
@@ -137,12 +137,12 @@ int schedule(struct sched *s)
 again:
        FD_ZERO(&s->rfds);
        FD_ZERO(&s->wfds);
-       s->select_timeout = s->default_timeout;
+       s->timeout = s->default_timeout;
        s->max_fileno = -1;
        clock_get_realtime(&now_struct);
        sched_preselect(s);
        ret = s->select_function(s->max_fileno + 1, &s->rfds, &s->wfds,
-               &s->select_timeout);
+               s->timeout);
        if (ret < 0)
                return ret;
        if (ret == 0) {
@@ -370,7 +370,7 @@ void task_notify_all(struct sched *s, int err)
  */
 void sched_min_delay(struct sched *s)
 {
-       s->select_timeout.tv_sec = s->select_timeout.tv_usec = 0;
+       s->timeout = 0;
 }
 
 /**
@@ -387,8 +387,9 @@ void sched_min_delay(struct sched *s)
  */
 void sched_request_timeout(struct timeval *to, struct sched *s)
 {
-       if (tv_diff(&s->select_timeout, to, NULL) > 0)
-               s->select_timeout = *to;
+       long unsigned ms = tv2ms(to);
+       if (s->timeout > ms)
+               s->timeout = ms;
 }
 
 /**