--- libaitsched/src/hooks.c 2014/01/28 10:37:19 1.24.4.5 +++ libaitsched/src/hooks.c 2014/01/28 12:57:52 1.24.4.7 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: hooks.c,v 1.24.4.5 2014/01/28 10:37:19 misho Exp $ +* $Id: hooks.c,v 1.24.4.7 2014/01/28 12:57:52 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -12,7 +12,7 @@ terms: All of the documentation and software included in the ELWIX and AITNET Releases is copyrighted by ELWIX - Sofia/Bulgaria -Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 +Copyright 2004 - 2014 by Michael Pounov . All rights reserved. Redistribution and use in source and binary forms, with or without @@ -529,13 +529,6 @@ sched_hook_proc(void *task, void *arg __unused) return NULL; } -#ifdef KQ_DISABLE -static void -_sched_sigHandler(int sig) -{ -} -#endif /* KQ_DISABLE */ - /* * sched_hook_signal() - Default SIGNAL hook * @@ -546,8 +539,8 @@ _sched_sigHandler(int sig) void * sched_hook_signal(void *task, void *arg __unused) { - sched_task_t *t = task; #ifndef KQ_DISABLE + sched_task_t *t = task; struct kevent chg[1]; struct timespec timeout = { 0, 0 }; @@ -570,6 +563,8 @@ sched_hook_signal(void *task, void *arg __unused) return (void*) -1; } #else +#if 0 + sched_task_t *t = task; struct sigaction sa; memset(&sa, 0, sizeof sa); @@ -584,6 +579,7 @@ sched_hook_signal(void *task, void *arg __unused) LOGERR; return (void*) -1; } +#endif /* 0 */ #endif return NULL; } @@ -645,6 +641,7 @@ sched_hook_fetch(void *root, void *arg __unused) struct timespec *timeout, m, mtmp; #else struct timeval *timeout, tv; + fd_set rfd, wfd, xfd; #endif register int i, flg; int en; @@ -757,8 +754,9 @@ sched_hook_fetch(void *root, void *arg __unused) #ifndef KQ_DISABLE if ((en = kevent(r->root_kq, NULL, 0, res, KQ_EVENTS, timeout)) == -1) { #else - if ((en = select(r->root_kq, &r->root_fds[0], &r->root_fds[1], - &r->root_fds[0], timeout)) == -1) { + rfd = xfd = r->root_fds[0]; + wfd = r->root_fds[1]; + if ((en = select(r->root_kq, &rfd, &wfd, &xfd, timeout)) == -1) { #endif /* KQ_DISABLE */ if (r->root_hooks.hook_exec.exception) { if (r->root_hooks.hook_exec.exception(r, NULL)) @@ -1150,6 +1148,7 @@ sched_hook_fetch(void *root, void *arg __unused) if (TASK_FD(task) != i) continue; else { + printf("Suck the milk %d !!!\n", i); flg++; TASK_RET(task) ^= TASK_RET(task); TASK_FLAG(task) ^= TASK_FLAG(task); @@ -1204,6 +1203,7 @@ sched_hook_fetch(void *root, void *arg __unused) if (TASK_FD(task) != i) continue; else { + printf("HIT the pig %d !!!\n", i); flg++; TASK_RET(task) ^= TASK_RET(task); TASK_FLAG(task) ^= TASK_FLAG(task);