X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=sched.c;h=d42e149801e4a7ecabd4f96cc1f79802eb7a4ff1;hp=0585162142be5238a7fa463a64f05fa192a6713d;hb=076b70b07967fbea52a30de5ffb4f6805a64eb87;hpb=01f8023b7fe59abc29072c7b84caec5961f8f14b diff --git a/sched.c b/sched.c index 05851621..d42e1498 100644 --- a/sched.c +++ b/sched.c @@ -8,7 +8,6 @@ #include #include -#include #include "para.h" #include "ipc.h" @@ -63,14 +62,14 @@ static void sched_preselect(struct sched *s) static inline void call_post_select(struct sched *s, struct task *t) { #ifndef SCHED_DEBUG - t->post_select(s, t); + t->error = t->post_select(s, t); #else struct timeval t1, t2, diff; unsigned long pst; - gettimeofday(&t1, NULL); - t->post_select(s, t); - gettimeofday(&t2, NULL); + clock_get_realtime(&t1); + t->error = t->post_select(s, t); + clock_get_realtime(&t2); tv_diff(&t1, &t2, &diff); pst = tv2ms(&diff); if (pst > 50) @@ -120,7 +119,7 @@ again: FD_ZERO(&s->wfds); s->select_timeout = s->default_timeout; s->max_fileno = -1; - gettimeofday(now, NULL); + clock_get_realtime(now); sched_preselect(s); ret = s->select_function(s->max_fileno + 1, &s->rfds, &s->wfds, &s->select_timeout); @@ -136,7 +135,7 @@ again: FD_ZERO(&s->rfds); FD_ZERO(&s->wfds); } - gettimeofday(now, NULL); + clock_get_realtime(now); sched_post_select(s); if (list_empty(&s->pre_select_list) && list_empty(&s->post_select_list)) return 0;