Diff for /libaitsched/src/hooks.c between versions 1.1.1.1 and 1.1.1.1.2.1

version 1.1.1.1, 2011/08/05 15:52:00 version 1.1.1.1.2.1, 2011/08/05 15:57:47
Line 119  sched_hook_cancel(void *task, void *arg __unused) Line 119  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[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;
         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:
                         if (FD_ISSET(TASK_FD(t), &io->wfd))                          if (FD_ISSET(TASK_FD(t), &io->wfd))
Line 165  sched_hook_read(void *task, void *arg __unused) Line 164  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 176  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);  
         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));
         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;
Line 199  sched_hook_write(void *task, void *arg __unused) Line 197  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 209  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);  
         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));
         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;
Line 307  retry: Line 304  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.1.1  
changed lines
  Added in v.1.1.1.1.2.1


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