version 1.21, 2013/08/26 18:48:23
|
version 1.22.8.1, 2014/01/28 10:21:43
|
Line 138 _sched_threadWrapper(sched_task_t *t)
|
Line 138 _sched_threadWrapper(sched_task_t *t)
|
/* notify parent, thread is ready for execution */ |
/* notify parent, thread is ready for execution */ |
pthread_testcancel(); |
pthread_testcancel(); |
|
|
ret = TASK_FUNC(t)(t); | ret = schedCall(t); |
|
|
pthread_cleanup_pop(42); |
pthread_cleanup_pop(42); |
TASK_ROOT(t)->root_ret = ret; |
TASK_ROOT(t)->root_ret = ret; |
Line 173 _sched_rtcWrapper(sched_task_t *t)
|
Line 173 _sched_rtcWrapper(sched_task_t *t)
|
|
|
timer_delete((timer_t) TASK_DATLEN(t)); |
timer_delete((timer_t) TASK_DATLEN(t)); |
|
|
return func(task); | return schedCall(task); |
} |
} |
#endif |
#endif |
|
|
Line 323 sched_task_t *
|
Line 323 sched_task_t *
|
schedNode(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, int fd, |
schedNode(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, int fd, |
void *opt_data, size_t opt_dlen) |
void *opt_data, size_t opt_dlen) |
{ |
{ |
|
#ifdef KQ_DISABLE |
|
sched_SetErr(ENOTSUP, "disabled kqueue support"); |
|
return NULL; |
|
#else |
sched_task_t *task; |
sched_task_t *task; |
void *ptr; |
void *ptr; |
|
|
Line 360 schedNode(sched_root_task_t * __restrict root, sched_t
|
Line 364 schedNode(sched_root_task_t * __restrict root, sched_t
|
task = sched_unuseTask(task); |
task = sched_unuseTask(task); |
|
|
return task; |
return task; |
|
#endif /* KQ_DISABLE */ |
} |
} |
|
|
/* |
/* |
Line 377 sched_task_t *
|
Line 382 sched_task_t *
|
schedProc(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, u_long pid, |
schedProc(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, u_long pid, |
void *opt_data, size_t opt_dlen) |
void *opt_data, size_t opt_dlen) |
{ |
{ |
|
#ifdef KQ_DISABLE |
|
sched_SetErr(ENOTSUP, "disabled kqueue support"); |
|
return NULL; |
|
#else |
sched_task_t *task; |
sched_task_t *task; |
void *ptr; |
void *ptr; |
|
|
Line 414 schedProc(sched_root_task_t * __restrict root, sched_t
|
Line 423 schedProc(sched_root_task_t * __restrict root, sched_t
|
task = sched_unuseTask(task); |
task = sched_unuseTask(task); |
|
|
return task; |
return task; |
|
#endif /* KQ_DISABLE */ |
} |
} |
|
|
/* |
/* |
Line 431 sched_task_t *
|
Line 441 sched_task_t *
|
schedUser(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, u_long id, |
schedUser(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, u_long id, |
void *opt_data, size_t opt_dlen) |
void *opt_data, size_t opt_dlen) |
{ |
{ |
|
#ifdef KQ_DISABLE |
|
sched_SetErr(ENOTSUP, "disabled kqueue support"); |
|
return NULL; |
|
#else |
#ifndef EVFILT_USER |
#ifndef EVFILT_USER |
sched_SetErr(ENOTSUP, "Not supported kevent() filter"); |
sched_SetErr(ENOTSUP, "Not supported kevent() filter"); |
return NULL; |
return NULL; |
Line 472 schedUser(sched_root_task_t * __restrict root, sched_t
|
Line 486 schedUser(sched_root_task_t * __restrict root, sched_t
|
task = sched_unuseTask(task); |
task = sched_unuseTask(task); |
|
|
return task; |
return task; |
#endif | #endif /* EVFILT_USER */ |
| #endif /* KQ_DISABLE */ |
} |
} |
|
|
/* |
/* |
Line 544 sched_task_t *
|
Line 559 sched_task_t *
|
schedAlarm(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, struct timespec ts, |
schedAlarm(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, struct timespec ts, |
void *opt_data, size_t opt_dlen) |
void *opt_data, size_t opt_dlen) |
{ |
{ |
|
#ifdef KQ_DISABLE |
|
sched_SetErr(ENOTSUP, "disabled kqueue support"); |
|
return NULL; |
|
#else |
sched_task_t *task; |
sched_task_t *task; |
void *ptr; |
void *ptr; |
|
|
Line 581 schedAlarm(sched_root_task_t * __restrict root, sched_
|
Line 600 schedAlarm(sched_root_task_t * __restrict root, sched_
|
task = sched_unuseTask(task); |
task = sched_unuseTask(task); |
|
|
return task; |
return task; |
|
#endif /* KQ_DISABLE */ |
} |
} |
|
|
#ifdef AIO_SUPPORT |
#ifdef AIO_SUPPORT |
Line 599 sched_task_t *
|
Line 619 sched_task_t *
|
schedAIO(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, |
schedAIO(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, |
struct aiocb * __restrict acb, void *opt_data, size_t opt_dlen) |
struct aiocb * __restrict acb, void *opt_data, size_t opt_dlen) |
{ |
{ |
|
#ifdef KQ_DISABLE |
|
sched_SetErr(ENOTSUP, "disabled kqueue support"); |
|
return NULL; |
|
#else |
sched_task_t *task; |
sched_task_t *task; |
void *ptr; |
void *ptr; |
|
|
Line 636 schedAIO(sched_root_task_t * __restrict root, sched_ta
|
Line 660 schedAIO(sched_root_task_t * __restrict root, sched_ta
|
task = sched_unuseTask(task); |
task = sched_unuseTask(task); |
|
|
return task; |
return task; |
|
#endif /* KQ_DISABLE */ |
} |
} |
|
|
/* |
/* |
Line 654 sched_task_t *
|
Line 679 sched_task_t *
|
schedAIORead(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, int fd, |
schedAIORead(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, int fd, |
void *buffer, size_t buflen, off_t offset) |
void *buffer, size_t buflen, off_t offset) |
{ |
{ |
|
#ifdef KQ_DISABLE |
|
sched_SetErr(ENOTSUP, "disabled kqueue support"); |
|
return NULL; |
|
#else |
struct aiocb *acb; |
struct aiocb *acb; |
off_t off; |
off_t off; |
|
|
Line 690 schedAIORead(sched_root_task_t * __restrict root, sche
|
Line 719 schedAIORead(sched_root_task_t * __restrict root, sche
|
} |
} |
|
|
return schedAIO(root, func, arg, acb, buffer, buflen); |
return schedAIO(root, func, arg, acb, buffer, buflen); |
|
#endif /* KQ_DISABLE */ |
} |
} |
|
|
/* |
/* |
Line 708 sched_task_t *
|
Line 738 sched_task_t *
|
schedAIOWrite(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, int fd, |
schedAIOWrite(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, int fd, |
void *buffer, size_t buflen, off_t offset) |
void *buffer, size_t buflen, off_t offset) |
{ |
{ |
|
#ifdef KQ_DISABLE |
|
sched_SetErr(ENOTSUP, "disabled kqueue support"); |
|
return NULL; |
|
#else |
struct aiocb *acb; |
struct aiocb *acb; |
off_t off; |
off_t off; |
|
|
Line 744 schedAIOWrite(sched_root_task_t * __restrict root, sch
|
Line 778 schedAIOWrite(sched_root_task_t * __restrict root, sch
|
} |
} |
|
|
return schedAIO(root, func, arg, acb, buffer, buflen); |
return schedAIO(root, func, arg, acb, buffer, buflen); |
|
#endif /* KQ_DISABLE */ |
} |
} |
|
|
#ifdef EVFILT_LIO |
#ifdef EVFILT_LIO |
Line 762 sched_task_t *
|
Line 797 sched_task_t *
|
schedLIO(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, |
schedLIO(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, |
struct aiocb ** __restrict acbs, void *opt_data, size_t opt_dlen) |
struct aiocb ** __restrict acbs, void *opt_data, size_t opt_dlen) |
{ |
{ |
|
#ifdef KQ_DISABLE |
|
sched_SetErr(ENOTSUP, "disabled kqueue support"); |
|
return NULL; |
|
#else |
sched_task_t *task; |
sched_task_t *task; |
void *ptr; |
void *ptr; |
|
|
Line 799 schedLIO(sched_root_task_t * __restrict root, sched_ta
|
Line 838 schedLIO(sched_root_task_t * __restrict root, sched_ta
|
task = sched_unuseTask(task); |
task = sched_unuseTask(task); |
|
|
return task; |
return task; |
|
#endif /* KQ_DISABLE */ |
} |
} |
|
|
/* |
/* |
Line 817 sched_task_t *
|
Line 857 sched_task_t *
|
schedLIORead(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, int fd, |
schedLIORead(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, int fd, |
struct iovec *bufs, size_t nbufs, off_t offset) |
struct iovec *bufs, size_t nbufs, off_t offset) |
{ |
{ |
|
#ifdef KQ_DISABLE |
|
sched_SetErr(ENOTSUP, "disabled kqueue support"); |
|
return NULL; |
|
#else |
struct sigevent sig; |
struct sigevent sig; |
struct aiocb **acb; |
struct aiocb **acb; |
off_t off; |
off_t off; |
Line 871 schedLIORead(sched_root_task_t * __restrict root, sche
|
Line 915 schedLIORead(sched_root_task_t * __restrict root, sche
|
} |
} |
|
|
return schedLIO(root, func, arg, (void*) acb, bufs, nbufs); |
return schedLIO(root, func, arg, (void*) acb, bufs, nbufs); |
|
#endif /* KQ_DISABLE */ |
} |
} |
|
|
/* |
/* |
Line 889 sched_task_t *
|
Line 934 sched_task_t *
|
schedLIOWrite(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, int fd, |
schedLIOWrite(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, int fd, |
struct iovec *bufs, size_t nbufs, off_t offset) |
struct iovec *bufs, size_t nbufs, off_t offset) |
{ |
{ |
|
#ifdef KQ_DISABLE |
|
sched_SetErr(ENOTSUP, "disabled kqueue support"); |
|
return NULL; |
|
#else |
struct sigevent sig; |
struct sigevent sig; |
struct aiocb **acb; |
struct aiocb **acb; |
off_t off; |
off_t off; |
Line 943 schedLIOWrite(sched_root_task_t * __restrict root, sch
|
Line 992 schedLIOWrite(sched_root_task_t * __restrict root, sch
|
} |
} |
|
|
return schedLIO(root, func, arg, (void*) acb, bufs, nbufs); |
return schedLIO(root, func, arg, (void*) acb, bufs, nbufs); |
|
#endif /* KQ_DISABLE */ |
} |
} |
#endif /* EVFILT_LIO */ |
#endif /* EVFILT_LIO */ |
#endif /* AIO_SUPPORT */ |
#endif /* AIO_SUPPORT */ |