version 1.7.2.1, 2012/05/31 14:17:59
|
version 1.7.2.2, 2012/05/31 14:45:10
|
Line 397 sched_hook_user(void *task, void *arg __unused)
|
Line 397 sched_hook_user(void *task, void *arg __unused)
|
return (void*) -1; |
return (void*) -1; |
|
|
#ifdef __NetBSD__ |
#ifdef __NetBSD__ |
EV_SET(&chg[0], TASK_VAL(t), EVFILT_USER, EV_ADD | EV_CLEAR, NOTE_FFNOP, 0, (intptr_t) TASK_VAL(t)); | EV_SET(&chg[0], TASK_VAL(t), EVFILT_USER, EV_ADD | EV_CLEAR, TASK_DATLEN(t), |
| 0, (intptr_t) TASK_VAL(t)); |
#else |
#else |
EV_SET(&chg[0], TASK_VAL(t), EVFILT_USER, EV_ADD | EV_CLEAR, NOTE_FFNOP, 0, (void*) TASK_VAL(t)); | EV_SET(&chg[0], TASK_VAL(t), EVFILT_USER, EV_ADD | EV_CLEAR, TASK_DATLEN(t), |
| 0, (void*) TASK_VAL(t)); |
#endif |
#endif |
if (kevent(TASK_ROOT(t)->root_kq, chg, 1, NULL, 0, &timeout) == -1) { |
if (kevent(TASK_ROOT(t)->root_kq, chg, 1, NULL, 0, &timeout) == -1) { |
if (TASK_ROOT(t)->root_hooks.hook_exec.exception) |
if (TASK_ROOT(t)->root_hooks.hook_exec.exception) |
Line 645 sched_hook_fetch(void *root, void *arg __unused)
|
Line 647 sched_hook_fetch(void *root, void *arg __unused)
|
TAILQ_FOREACH_SAFE(task, &r->root_node, task_node, tmp) { |
TAILQ_FOREACH_SAFE(task, &r->root_node, task_node, tmp) { |
if (TASK_FD(task) != ((intptr_t) res[i].udata)) |
if (TASK_FD(task) != ((intptr_t) res[i].udata)) |
continue; |
continue; |
|
else { |
|
TASK_DATA(task) = (void*) res[i].data; |
|
TASK_DATLEN(task) = res[i].fflags; |
|
} |
/* remove node handle */ |
/* remove node handle */ |
#ifdef HAVE_LIBPTHREAD |
#ifdef HAVE_LIBPTHREAD |
pthread_mutex_lock(&r->root_mtx[taskNODE]); |
pthread_mutex_lock(&r->root_mtx[taskNODE]); |
Line 668 sched_hook_fetch(void *root, void *arg __unused)
|
Line 674 sched_hook_fetch(void *root, void *arg __unused)
|
TAILQ_FOREACH_SAFE(task, &r->root_proc, task_node, tmp) { |
TAILQ_FOREACH_SAFE(task, &r->root_proc, task_node, tmp) { |
if (TASK_VAL(task) != ((uintptr_t) res[i].udata)) |
if (TASK_VAL(task) != ((uintptr_t) res[i].udata)) |
continue; |
continue; |
|
else { |
|
TASK_DATA(task) = (void*) res[i].data; |
|
TASK_DATLEN(task) = res[i].fflags; |
|
} |
/* remove proc handle */ |
/* remove proc handle */ |
#ifdef HAVE_LIBPTHREAD |
#ifdef HAVE_LIBPTHREAD |
pthread_mutex_lock(&r->root_mtx[taskPROC]); |
pthread_mutex_lock(&r->root_mtx[taskPROC]); |
Line 714 sched_hook_fetch(void *root, void *arg __unused)
|
Line 724 sched_hook_fetch(void *root, void *arg __unused)
|
TAILQ_FOREACH_SAFE(task, &r->root_user, task_node, tmp) { |
TAILQ_FOREACH_SAFE(task, &r->root_user, task_node, tmp) { |
if (TASK_VAL(task) != ((uintptr_t) res[i].udata)) |
if (TASK_VAL(task) != ((uintptr_t) res[i].udata)) |
continue; |
continue; |
|
else { |
|
TASK_DATA(task) = (void*) res[i].data; |
|
TASK_DATLEN(task) = res[i].fflags; |
|
} |
/* remove user handle */ |
/* remove user handle */ |
#ifdef HAVE_LIBPTHREAD |
#ifdef HAVE_LIBPTHREAD |
pthread_mutex_lock(&r->root_mtx[taskUSER]); |
pthread_mutex_lock(&r->root_mtx[taskUSER]); |