Diff for /libaitsched/src/hooks.c between versions 1.24.4.6 and 1.24.4.9

version 1.24.4.6, 2014/01/28 12:14:20 version 1.24.4.9, 2014/01/28 13:11:33
Line 12  terms: Line 12  terms:
 All of the documentation and software included in the ELWIX and AITNET  All of the documentation and software included in the ELWIX and AITNET
 Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org>  Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org>
   
Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013Copyright 2004 - 2014
         by Michael Pounov <misho@elwix.org>.  All rights reserved.          by Michael Pounov <misho@elwix.org>.  All rights reserved.
   
 Redistribution and use in source and binary forms, with or without  Redistribution and use in source and binary forms, with or without
Line 638  sched_hook_fetch(void *root, void *arg __unused) Line 638  sched_hook_fetch(void *root, void *arg __unused)
         struct timespec now, m, mtmp;          struct timespec now, m, mtmp;
 #ifndef KQ_DISABLE  #ifndef KQ_DISABLE
         struct kevent evt[1], res[KQ_EVENTS];          struct kevent evt[1], res[KQ_EVENTS];
        struct timespec *timeout, m, mtmp;        struct timespec *timeout;
 #else  #else
         struct timeval *timeout, tv;          struct timeval *timeout, tv;
           fd_set rfd, wfd, xfd;
 #endif  #endif
         register int i, flg;          register int i, flg;
         int en;          int en;
Line 753  sched_hook_fetch(void *root, void *arg __unused) Line 754  sched_hook_fetch(void *root, void *arg __unused)
 #ifndef KQ_DISABLE  #ifndef KQ_DISABLE
         if ((en = kevent(r->root_kq, NULL, 0, res, KQ_EVENTS, timeout)) == -1) {          if ((en = kevent(r->root_kq, NULL, 0, res, KQ_EVENTS, timeout)) == -1) {
 #else  #else
        if ((en = select(r->root_kq, &r->root_fds[0], &r->root_fds[1],         rfd = xfd = r->root_fds[0];
                                        &r->root_fds[0], timeout)) == -1) {        wfd = r->root_fds[1];
         if ((en = select(r->root_kq, &rfd, &wfd, &xfd, timeout)) == -1) {
 #endif  /* KQ_DISABLE */  #endif  /* KQ_DISABLE */
                 if (r->root_hooks.hook_exec.exception) {                  if (r->root_hooks.hook_exec.exception) {
                         if (r->root_hooks.hook_exec.exception(r, NULL))                          if (r->root_hooks.hook_exec.exception(r, NULL))
Line 1140  sched_hook_fetch(void *root, void *arg __unused) Line 1142  sched_hook_fetch(void *root, void *arg __unused)
         }          }
 #else   /* end of kevent dispatcher */  #else   /* end of kevent dispatcher */
         for (i = 0; i < r->root_kq; i++) {          for (i = 0; i < r->root_kq; i++) {
                if (FD_ISSET(i, &r->root_fds[0])) {                if (FD_ISSET(i, &rfd) || FD_ISSET(i, &xfd)) {
                         flg = 0;                          flg = 0;
                         TAILQ_FOREACH_SAFE(task, &r->root_read, task_node, tmp) {                          TAILQ_FOREACH_SAFE(task, &r->root_read, task_node, tmp) {
                                 if (TASK_FD(task) != i)                                  if (TASK_FD(task) != i)
Line 1194  sched_hook_fetch(void *root, void *arg __unused) Line 1196  sched_hook_fetch(void *root, void *arg __unused)
                                 FD_CLR(i, &r->root_fds[0]);                                  FD_CLR(i, &r->root_fds[0]);
                 }                  }
   
                if (FD_ISSET(i, &r->root_fds[1])) {                if (FD_ISSET(i, &wfd)) {
                         flg = 0;                          flg = 0;
                         TAILQ_FOREACH_SAFE(task, &r->root_write, task_node, tmp) {                          TAILQ_FOREACH_SAFE(task, &r->root_write, task_node, tmp) {
                                 if (TASK_FD(task) != i)                                  if (TASK_FD(task) != i)

Removed from v.1.24.4.6  
changed lines
  Added in v.1.24.4.9


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>