Diff for /libaitsched/src/hooks.c between versions 1.1 and 1.1.1.1.2.4

version 1.1, 2011/08/05 15:52:00 version 1.1.1.1.2.4, 2011/08/11 22:55:28
Line 118  sched_hook_cancel(void *task, void *arg __unused) Line 118  sched_hook_cancel(void *task, void *arg __unused)
 {  {
         struct sched_IO *io;          struct sched_IO *io;
         sched_task_t *t = task;          sched_task_t *t = task;
        struct kevent chg[1];        struct kevent chg[2];
        struct timespec timeout;        struct timespec timeout = { 0, 0 };
   
         if (!t || !t->task_root || !ROOT_DATA(t->task_root) || !ROOT_DATLEN(t->task_root))          if (!t || !t->task_root || !ROOT_DATA(t->task_root) || !ROOT_DATLEN(t->task_root))
                 return (void*) -1;                  return (void*) -1;
         else          else
                 io = ROOT_DATA(t->task_root);                  io = ROOT_DATA(t->task_root);
   
         timespecclear(&timeout);  
         switch (t->task_type) {          switch (t->task_type) {
                 case taskREAD:                  case taskREAD:
   #ifdef __NetBSD__
                           EV_SET(&chg[1], TASK_FD(t), EVFILT_READ, EV_DELETE, 0, 0, (intptr_t) &TASK_FD(t));
   #else
                           EV_SET(&chg[1], TASK_FD(t), EVFILT_READ, EV_DELETE, 0, 0, &TASK_FD(t));
   #endif
                         if (FD_ISSET(TASK_FD(t), &io->wfd))                          if (FD_ISSET(TASK_FD(t), &io->wfd))
   #ifdef __NetBSD__
                                   EV_SET(&chg[0], TASK_FD(t), EVFILT_WRITE, EV_ADD, 0, 0, (intptr_t) &TASK_FD(t));
   #else
                                 EV_SET(&chg[0], TASK_FD(t), EVFILT_WRITE, EV_ADD, 0, 0, &TASK_FD(t));                                  EV_SET(&chg[0], TASK_FD(t), EVFILT_WRITE, EV_ADD, 0, 0, &TASK_FD(t));
   #endif
                         else                          else
   #ifdef __NetBSD__
                                   EV_SET(&chg[0], TASK_FD(t), EVFILT_WRITE, EV_DELETE, 0, 0, (intptr_t) &TASK_FD(t));
   #else
                                 EV_SET(&chg[0], TASK_FD(t), EVFILT_WRITE, EV_DELETE, 0, 0, &TASK_FD(t));                                  EV_SET(&chg[0], TASK_FD(t), EVFILT_WRITE, EV_DELETE, 0, 0, &TASK_FD(t));
                        kevent(t->task_root->root_kq, chg, 1, NULL, 0, &timeout);#endif
                         kevent(t->task_root->root_kq, chg, 2, NULL, 0, &timeout);
   
                         FD_CLR(TASK_FD(t), &io->rfd);                          FD_CLR(TASK_FD(t), &io->rfd);
                         break;                          break;
                 case taskWRITE:                  case taskWRITE:
   #ifdef __NetBSD__
                           EV_SET(&chg[1], TASK_FD(t), EVFILT_WRITE, EV_DELETE, 0, 0, (intptr_t) &TASK_FD(t));
   #else
                           EV_SET(&chg[1], TASK_FD(t), EVFILT_WRITE, EV_DELETE, 0, 0, &TASK_FD(t));
   #endif
                         if (FD_ISSET(TASK_FD(t), &io->rfd))                          if (FD_ISSET(TASK_FD(t), &io->rfd))
   #ifdef __NetBSD__
                                   EV_SET(&chg[0], TASK_FD(t), EVFILT_READ, EV_ADD, 0, 0, (intptr_t) &TASK_FD(t));
   #else
                                 EV_SET(&chg[0], TASK_FD(t), EVFILT_READ, EV_ADD, 0, 0, &TASK_FD(t));                                  EV_SET(&chg[0], TASK_FD(t), EVFILT_READ, EV_ADD, 0, 0, &TASK_FD(t));
   #endif
                         else                          else
   #ifdef __NetBSD__
                                   EV_SET(&chg[0], TASK_FD(t), EVFILT_READ, EV_DELETE, 0, 0, (intptr_t) &TASK_FD(t));
   #else
                                 EV_SET(&chg[0], TASK_FD(t), EVFILT_READ, EV_DELETE, 0, 0, &TASK_FD(t));                                  EV_SET(&chg[0], TASK_FD(t), EVFILT_READ, EV_DELETE, 0, 0, &TASK_FD(t));
                        kevent(t->task_root->root_kq, chg, 1, NULL, 0, &timeout);#endif
                         kevent(t->task_root->root_kq, chg, 2, NULL, 0, &timeout);
   
                         FD_CLR(TASK_FD(t), &io->wfd);                          FD_CLR(TASK_FD(t), &io->wfd);
                         break;                          break;
Line 165  sched_hook_read(void *task, void *arg __unused) Line 190  sched_hook_read(void *task, void *arg __unused)
         struct sched_IO *io;          struct sched_IO *io;
         sched_task_t *t = task;          sched_task_t *t = task;
         struct kevent chg[1];          struct kevent chg[1];
        struct timespec timeout;        struct timespec timeout = { 0, 0 };
   
         if (!t || !t->task_root || !ROOT_DATA(t->task_root) || !ROOT_DATLEN(t->task_root))          if (!t || !t->task_root || !ROOT_DATA(t->task_root) || !ROOT_DATLEN(t->task_root))
                 return (void*) -1;                  return (void*) -1;
Line 177  sched_hook_read(void *task, void *arg __unused) Line 202  sched_hook_read(void *task, void *arg __unused)
         else          else
                 FD_SET(TASK_FD(t), &io->rfd);                  FD_SET(TASK_FD(t), &io->rfd);
   
        timespecclear(&timeout);#ifdef __NetBSD__
         EV_SET(&chg[0], TASK_FD(t), EVFILT_READ, EV_ADD, 0, 0, (intptr_t) &TASK_FD(t));
 #else
         EV_SET(&chg[0], TASK_FD(t), EVFILT_READ, EV_ADD, 0, 0, &TASK_FD(t));          EV_SET(&chg[0], TASK_FD(t), EVFILT_READ, EV_ADD, 0, 0, &TASK_FD(t));
   #endif
         if (kevent(t->task_root->root_kq, chg, 1, NULL, 0, &timeout) == -1) {          if (kevent(t->task_root->root_kq, chg, 1, NULL, 0, &timeout) == -1) {
                 LOGERR;                  LOGERR;
                 return (void*) -1;                  return (void*) -1;
Line 199  sched_hook_write(void *task, void *arg __unused) Line 227  sched_hook_write(void *task, void *arg __unused)
         struct sched_IO *io;          struct sched_IO *io;
         sched_task_t *t = task;          sched_task_t *t = task;
         struct kevent chg[1];          struct kevent chg[1];
        struct timespec timeout;        struct timespec timeout = { 0, 0 };
   
         if (!t || !t->task_root || !ROOT_DATA(t->task_root) || !ROOT_DATLEN(t->task_root))          if (!t || !t->task_root || !ROOT_DATA(t->task_root) || !ROOT_DATLEN(t->task_root))
                 return (void*) -1;                  return (void*) -1;
Line 211  sched_hook_write(void *task, void *arg __unused) Line 239  sched_hook_write(void *task, void *arg __unused)
         else          else
                 FD_SET(TASK_FD(t), &io->wfd);                  FD_SET(TASK_FD(t), &io->wfd);
   
        timespecclear(&timeout);#ifdef __NetBSD__
         EV_SET(&chg[0], TASK_FD(t), EVFILT_WRITE, EV_ADD, 0, 0, (intptr_t) &TASK_FD(t));
 #else
         EV_SET(&chg[0], TASK_FD(t), EVFILT_WRITE, EV_ADD, 0, 0, &TASK_FD(t));          EV_SET(&chg[0], TASK_FD(t), EVFILT_WRITE, EV_ADD, 0, 0, &TASK_FD(t));
   #endif
         if (kevent(t->task_root->root_kq, chg, 1, NULL, 0, &timeout) == -1) {          if (kevent(t->task_root->root_kq, chg, 1, NULL, 0, &timeout) == -1) {
                 LOGERR;                  LOGERR;
                 return (void*) -1;                  return (void*) -1;
Line 307  retry: Line 338  retry:
                 goto retry;                  goto retry;
         }          }
   
        timespecclear(&nw);        nw.tv_sec = nw.tv_nsec = 0;
         /* Go and catch the cat into pipes ... */          /* Go and catch the cat into pipes ... */
         for (i = 0; i < en; i++) {          for (i = 0; i < en; i++) {
                 memcpy(evt, &res[i], sizeof evt);                  memcpy(evt, &res[i], sizeof evt);

Removed from v.1.1  
changed lines
  Added in v.1.1.1.1.2.4


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