|
|
| version 1.7.2.3, 2012/05/31 21:36:40 | version 1.7.2.5, 2012/05/31 22:11:19 |
|---|---|
| Line 156 sched_hook_cancel(void *task, void *arg __unused) | Line 156 sched_hook_cancel(void *task, void *arg __unused) |
| EV_SET(&chg[0], TASK_VAL(t), EVFILT_SIGNAL, EV_DELETE, 0, 0, (void*) TASK_VAL(t)); | EV_SET(&chg[0], TASK_VAL(t), EVFILT_SIGNAL, EV_DELETE, 0, 0, (void*) TASK_VAL(t)); |
| #endif | #endif |
| break; | break; |
| #ifdef EVFILT_USER | |
| case taskUSER: | case taskUSER: |
| #ifdef __NetBSD__ | #ifdef __NetBSD__ |
| EV_SET(&chg[0], TASK_VAL(t), EVFILT_USER, EV_DELETE, 0, 0, (intptr_t) TASK_VAL(t)); | EV_SET(&chg[0], TASK_VAL(t), EVFILT_USER, EV_DELETE, 0, 0, (intptr_t) TASK_VAL(t)); |
| #else | #else |
| EV_SET(&chg[0], TASK_VAL(t), EVFILT_USER, EV_DELETE, 0, 0, (void*) TASK_VAL(t)); | EV_SET(&chg[0], TASK_VAL(t), EVFILT_USER, EV_DELETE, 0, 0, (void*) TASK_VAL(t)); |
| #endif | #endif |
| #endif | |
| break; | break; |
| default: | default: |
| return NULL; | return NULL; |
| Line 386 sched_hook_signal(void *task, void *arg __unused) | Line 388 sched_hook_signal(void *task, void *arg __unused) |
| * @arg = unused | * @arg = unused |
| * return: <0 errors and 0 ok | * return: <0 errors and 0 ok |
| */ | */ |
| #ifdef EVFILT_USER | |
| void * | void * |
| sched_hook_user(void *task, void *arg __unused) | sched_hook_user(void *task, void *arg __unused) |
| { | { |
| Line 413 sched_hook_user(void *task, void *arg __unused) | Line 416 sched_hook_user(void *task, void *arg __unused) |
| return NULL; | return NULL; |
| } | } |
| #endif | |
| /* | /* |
| * sched_hook_fetch() - Default FETCH hook | * sched_hook_fetch() - Default FETCH hook |
| Line 648 sched_hook_fetch(void *root, void *arg __unused) | Line 652 sched_hook_fetch(void *root, void *arg __unused) |
| if (TASK_FD(task) != ((intptr_t) res[i].udata)) | if (TASK_FD(task) != ((intptr_t) res[i].udata)) |
| continue; | continue; |
| else { | else { |
| TASK_DATA(task) = (void*) res[i].data; | TASK_DATA(task) = (void*) (uintptr_t) res[i].data; |
| TASK_DATLEN(task) = res[i].fflags; | TASK_DATLEN(task) = res[i].fflags; |
| } | } |
| /* remove node handle */ | /* remove node handle */ |
| Line 675 sched_hook_fetch(void *root, void *arg __unused) | Line 679 sched_hook_fetch(void *root, void *arg __unused) |
| if (TASK_VAL(task) != ((uintptr_t) res[i].udata)) | if (TASK_VAL(task) != ((uintptr_t) res[i].udata)) |
| continue; | continue; |
| else { | else { |
| TASK_DATA(task) = (void*) res[i].data; | TASK_DATA(task) = (void*) (uintptr_t) res[i].data; |
| TASK_DATLEN(task) = res[i].fflags; | TASK_DATLEN(task) = res[i].fflags; |
| } | } |
| /* remove proc handle */ | /* remove proc handle */ |
| Line 720 sched_hook_fetch(void *root, void *arg __unused) | Line 724 sched_hook_fetch(void *root, void *arg __unused) |
| break; | break; |
| } | } |
| break; | break; |
| #ifdef EVFILT_USER | |
| case EVFILT_USER: | case EVFILT_USER: |
| 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)) |
| Line 747 sched_hook_fetch(void *root, void *arg __unused) | Line 752 sched_hook_fetch(void *root, void *arg __unused) |
| break; | break; |
| } | } |
| break; | break; |
| #endif | |
| } | } |
| if (kevent(r->root_kq, evt, 1, NULL, 0, &now) == -1) { | if (kevent(r->root_kq, evt, 1, NULL, 0, &now) == -1) { |
| if (r->root_hooks.hook_exec.exception) { | if (r->root_hooks.hook_exec.exception) { |