version 1.1.1.1.2.5, 2011/08/12 11:49:50
|
version 1.1.1.1.2.7, 2011/09/28 14:14:10
|
Line 309 retry:
|
Line 309 retry:
|
timeout = NULL; |
timeout = NULL; |
if ((en = kevent(r->root_kq, NULL, 0, res, KQ_EVENTS, timeout)) == -1) { |
if ((en = kevent(r->root_kq, NULL, 0, res, KQ_EVENTS, timeout)) == -1) { |
LOGERR; |
LOGERR; |
|
#ifdef NDEBUG |
|
/* kevent no exit by error, if non-debug version */ |
goto retry; |
goto retry; |
|
#else |
|
/* diagnostic exit from scheduler if kevent error occur */ |
|
return NULL; |
|
#endif |
} |
} |
|
|
nw.tv_sec = nw.tv_nsec = 0; |
nw.tv_sec = nw.tv_nsec = 0; |
Line 348 retry:
|
Line 354 retry:
|
} |
} |
break; |
break; |
} |
} |
|
|
if (kevent(r->root_kq, evt, 1, NULL, 0, &nw) == -1) |
if (kevent(r->root_kq, evt, 1, NULL, 0, &nw) == -1) |
LOGERR; |
LOGERR; |
} |
} |
|
|
/* timer update */ | /* timer update & put in ready queue */ |
clock_gettime(CLOCK_MONOTONIC, &nw); |
clock_gettime(CLOCK_MONOTONIC, &nw); |
now.tv_sec = nw.tv_sec; |
now.tv_sec = nw.tv_sec; |
now.tv_usec = nw.tv_nsec / 1000; |
now.tv_usec = nw.tv_nsec / 1000; |
Line 387 retry:
|
Line 392 retry:
|
TAILQ_INSERT_TAIL(&r->root_unuse, task, task_node); |
TAILQ_INSERT_TAIL(&r->root_unuse, task, task_node); |
return task; |
return task; |
} |
} |
|
|