version 1.5.2.2, 2012/05/03 15:05:09
|
version 1.5.2.3, 2012/05/10 14:44:22
|
Line 223 sched_hook_fetch(void *root, void *arg __unused)
|
Line 223 sched_hook_fetch(void *root, void *arg __unused)
|
return NULL; |
return NULL; |
|
|
/* get new task by queue priority */ |
/* get new task by queue priority */ |
retry: |
|
while ((task = TAILQ_FIRST(&r->root_event))) { |
while ((task = TAILQ_FIRST(&r->root_event))) { |
#ifdef HAVE_LIBPTHREAD |
#ifdef HAVE_LIBPTHREAD |
pthread_mutex_lock(&r->root_mtx[taskEVENT]); |
pthread_mutex_lock(&r->root_mtx[taskEVENT]); |
Line 306 retry:
|
Line 305 retry:
|
if (r->root_hooks.hook_exec.exception) { |
if (r->root_hooks.hook_exec.exception) { |
if (r->root_hooks.hook_exec.exception(r, NULL)) |
if (r->root_hooks.hook_exec.exception(r, NULL)) |
return NULL; |
return NULL; |
} else | } else if (errno != EINTR) |
LOGERR; |
LOGERR; |
#ifdef NDEBUG |
|
/* kevent no exit by error, if non-debug version */ |
|
goto retry; |
|
#else |
|
/* diagnostic exit from scheduler if kevent error occur */ |
|
return NULL; |
return NULL; |
#endif |
|
} |
} |
|
|
now.tv_sec = now.tv_nsec = 0; |
now.tv_sec = now.tv_nsec = 0; |