|
|
| 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]); |