Diff for /libaitsched/src/hooks.c between versions 1.10.2.7 and 1.10.2.9

version 1.10.2.7, 2012/08/02 09:36:38 version 1.10.2.9, 2012/08/02 12:32:07
Line 107  sched_hook_cancel(void *task, void *arg __unused) Line 107  sched_hook_cancel(void *task, void *arg __unused)
         sched_task_t *t = task;          sched_task_t *t = task;
         struct kevent chg[1];          struct kevent chg[1];
         struct timespec timeout = { 0, 0 };          struct timespec timeout = { 0, 0 };
#ifdef EVFILT_AIO#if defined(EVFILT_AIO) && defined(SIGEV_KEVENT)
         struct aiocb *acb;          struct aiocb *acb;
 #endif  #endif
   
Line 159  sched_hook_cancel(void *task, void *arg __unused) Line 159  sched_hook_cancel(void *task, void *arg __unused)
                         EV_SET(&chg[0], TASK_VAL(t), EVFILT_SIGNAL, EV_DELETE, 0, 0, (void*) TASK_VAL(t));                          EV_SET(&chg[0], TASK_VAL(t), EVFILT_SIGNAL, EV_DELETE, 0, 0, (void*) TASK_VAL(t));
 #endif  #endif
                         break;                          break;
#ifdef EVFILT_AIO#if defined(EVFILT_AIO) && defined(SIGEV_KEVENT)
                 case taskAIO:                  case taskAIO:
 #ifdef __NetBSD__  #ifdef __NetBSD__
                         EV_SET(&chg[0], TASK_VAL(t), EVFILT_AIO, EV_DELETE, 0, 0, (intptr_t) TASK_VAL(t));                          EV_SET(&chg[0], TASK_VAL(t), EVFILT_AIO, EV_DELETE, 0, 0, (intptr_t) TASK_VAL(t));
Line 454  sched_hook_fetch(void *root, void *arg __unused) Line 454  sched_hook_fetch(void *root, void *arg __unused)
         struct kevent evt[1], res[KQ_EVENTS];          struct kevent evt[1], res[KQ_EVENTS];
         register int i, flg;          register int i, flg;
         int en;          int en;
#ifdef EVFILT_AIO#if defined(EVFILT_AIO) && defined(SIGEV_KEVENT)
         int len, fd;          int len, fd;
         struct aiocb *acb;          struct aiocb *acb;
 #ifdef EVFILT_LIO  #ifdef EVFILT_LIO
Line 462  sched_hook_fetch(void *root, void *arg __unused) Line 462  sched_hook_fetch(void *root, void *arg __unused)
         register int j;          register int j;
         off_t off;          off_t off;
         struct aiocb **acbs;          struct aiocb **acbs;
           struct iovec *iv;
 #endif  /* EVFILT_LIO */  #endif  /* EVFILT_LIO */
 #endif  /* EVFILT_AIO */  #endif  /* EVFILT_AIO */
   
Line 781  sched_hook_fetch(void *root, void *arg __unused) Line 782  sched_hook_fetch(void *root, void *arg __unused)
                                 if (flg > 1)                                  if (flg > 1)
                                         evt->flags ^= evt->flags;                                          evt->flags ^= evt->flags;
                                 break;                                  break;
#ifdef EVFILT_AIO#if defined(EVFILT_AIO) && defined(SIGEV_KEVENT)
                         case EVFILT_AIO:                          case EVFILT_AIO:
 #ifdef EVFILT_LIO  #ifdef EVFILT_LIO
                         case EVFILT_LIO:                          case EVFILT_LIO:
Line 812  sched_hook_fetch(void *root, void *arg __unused) Line 813  sched_hook_fetch(void *root, void *arg __unused)
 #ifdef EVFILT_LIO  #ifdef EVFILT_LIO
                                         if (res[i].filter == EVFILT_LIO) {                                          if (res[i].filter == EVFILT_LIO) {
                                                 acbs = (struct aiocb**) TASK_VAL(task);                                                  acbs = (struct aiocb**) TASK_VAL(task);
                                                   iv = (struct iovec*) TASK_DATA(task);
                                                 fd = acbs[0]->aio_fildes;                                                  fd = acbs[0]->aio_fildes;
                                                 off = acbs[0]->aio_offset;                                                  off = acbs[0]->aio_offset;
                                                 for (j = len = 0; i < TASK_DATLEN(task); len += l, i++) {                                                  for (j = len = 0; i < TASK_DATLEN(task); len += l, i++) {
                                                        if ((l = aio_return(acbs[i])) == -1)                                                        if ((iv[i].iov_len = aio_return(acbs[i])) == -1)
                                                                 l = 0;                                                                  l = 0;
                                                           else
                                                                   l = iv[i].iov_len;
                                                         free(acbs[i]);                                                          free(acbs[i]);
                                                 }                                                  }
                                                 free(acbs);                                                  free(acbs);

Removed from v.1.10.2.7  
changed lines
  Added in v.1.10.2.9


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