--- libaitsched/src/hooks.c 2014/01/28 13:17:33 1.25 +++ libaitsched/src/hooks.c 2014/02/01 14:06:08 1.26.2.1 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: hooks.c,v 1.25 2014/01/28 13:17:33 misho Exp $ +* $Id: hooks.c,v 1.26.2.1 2014/02/01 14:06:08 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -270,7 +270,7 @@ sched_hook_cancel(void *task, void *arg __unused) pthread_cancel((pthread_t) TASK_VAL(t)); #endif return NULL; -#if defined(HAVE_TIMER_CREATE) && defined(HAVE_TIMER_SETTIME) +#if defined(HAVE_TIMER_CREATE) && defined(HAVE_TIMER_SETTIME) && defined(HAVE_TIMER_DELETE) case taskRTC: timer_delete((timer_t) TASK_FLAG(t)); schedCancel((sched_task_t*) TASK_RET(t)); @@ -1149,8 +1149,8 @@ sched_hook_fetch(void *root, void *arg __unused) continue; else { flg++; - TASK_RET(task) ^= TASK_RET(task); - TASK_FLAG(task) ^= TASK_FLAG(task); + TASK_FLAG(task) = ioctl(TASK_FD(task), + FIONREAD, &TASK_RET(task)); } /* remove read handle */ #ifdef HAVE_LIBPTHREAD @@ -1203,8 +1203,8 @@ sched_hook_fetch(void *root, void *arg __unused) continue; else { flg++; - TASK_RET(task) ^= TASK_RET(task); - TASK_FLAG(task) ^= TASK_FLAG(task); + TASK_FLAG(task) = ioctl(TASK_FD(task), + FIONWRITE, &TASK_RET(task)); } /* remove write handle */ #ifdef HAVE_LIBPTHREAD @@ -1387,7 +1387,7 @@ sched_hook_condition(void *root, void *arg) * @arg = unused * return: <0 errors and 0 ok */ -#if defined(HAVE_TIMER_CREATE) && defined(HAVE_TIMER_SETTIME) +#if defined(HAVE_TIMER_CREATE) && defined(HAVE_TIMER_SETTIME) && defined(HAVE_TIMER_DELETE) void * sched_hook_rtc(void *task, void *arg __unused) {