Diff for /libaitsched/src/tasks.c between versions 1.21 and 1.22.8.1

version 1.21, 2013/08/26 18:48:23 version 1.22.8.1, 2014/01/28 10:21:43
Line 138  _sched_threadWrapper(sched_task_t *t) Line 138  _sched_threadWrapper(sched_task_t *t)
         /* notify parent, thread is ready for execution */          /* notify parent, thread is ready for execution */
         pthread_testcancel();          pthread_testcancel();
   
        ret = TASK_FUNC(t)(t);        ret = schedCall(t);
   
         pthread_cleanup_pop(42);          pthread_cleanup_pop(42);
         TASK_ROOT(t)->root_ret = ret;          TASK_ROOT(t)->root_ret = ret;
Line 173  _sched_rtcWrapper(sched_task_t *t) Line 173  _sched_rtcWrapper(sched_task_t *t)
   
         timer_delete((timer_t) TASK_DATLEN(t));          timer_delete((timer_t) TASK_DATLEN(t));
   
        return func(task);        return schedCall(task);
 }  }
 #endif  #endif
   
Line 323  sched_task_t * Line 323  sched_task_t *
 schedNode(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, int fd,   schedNode(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, int fd, 
                 void *opt_data, size_t opt_dlen)                  void *opt_data, size_t opt_dlen)
 {  {
   #ifdef KQ_DISABLE
           sched_SetErr(ENOTSUP, "disabled kqueue support");
           return NULL;
   #else
         sched_task_t *task;          sched_task_t *task;
         void *ptr;          void *ptr;
   
Line 360  schedNode(sched_root_task_t * __restrict root, sched_t Line 364  schedNode(sched_root_task_t * __restrict root, sched_t
                 task = sched_unuseTask(task);                  task = sched_unuseTask(task);
   
         return task;          return task;
   #endif  /* KQ_DISABLE */
 }  }
   
 /*  /*
Line 377  sched_task_t * Line 382  sched_task_t *
 schedProc(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, u_long pid,   schedProc(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, u_long pid, 
                 void *opt_data, size_t opt_dlen)                  void *opt_data, size_t opt_dlen)
 {  {
   #ifdef KQ_DISABLE
           sched_SetErr(ENOTSUP, "disabled kqueue support");
           return NULL;
   #else
         sched_task_t *task;          sched_task_t *task;
         void *ptr;          void *ptr;
   
Line 414  schedProc(sched_root_task_t * __restrict root, sched_t Line 423  schedProc(sched_root_task_t * __restrict root, sched_t
                 task = sched_unuseTask(task);                  task = sched_unuseTask(task);
   
         return task;          return task;
   #endif  /* KQ_DISABLE */
 }  }
   
 /*  /*
Line 431  sched_task_t * Line 441  sched_task_t *
 schedUser(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, u_long id,   schedUser(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, u_long id, 
                 void *opt_data, size_t opt_dlen)                  void *opt_data, size_t opt_dlen)
 {  {
   #ifdef KQ_DISABLE
           sched_SetErr(ENOTSUP, "disabled kqueue support");
           return NULL;
   #else
 #ifndef EVFILT_USER  #ifndef EVFILT_USER
         sched_SetErr(ENOTSUP, "Not supported kevent() filter");          sched_SetErr(ENOTSUP, "Not supported kevent() filter");
         return NULL;          return NULL;
Line 472  schedUser(sched_root_task_t * __restrict root, sched_t Line 486  schedUser(sched_root_task_t * __restrict root, sched_t
                 task = sched_unuseTask(task);                  task = sched_unuseTask(task);
   
         return task;          return task;
#endif#endif  /* EVFILT_USER */
 #endif  /* KQ_DISABLE */
 }  }
   
 /*  /*
Line 544  sched_task_t * Line 559  sched_task_t *
 schedAlarm(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, struct timespec ts,   schedAlarm(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, struct timespec ts, 
                 void *opt_data, size_t opt_dlen)                  void *opt_data, size_t opt_dlen)
 {  {
   #ifdef KQ_DISABLE
           sched_SetErr(ENOTSUP, "disabled kqueue support");
           return NULL;
   #else
         sched_task_t *task;          sched_task_t *task;
         void *ptr;          void *ptr;
   
Line 581  schedAlarm(sched_root_task_t * __restrict root, sched_ Line 600  schedAlarm(sched_root_task_t * __restrict root, sched_
                 task = sched_unuseTask(task);                  task = sched_unuseTask(task);
   
         return task;          return task;
   #endif  /* KQ_DISABLE */
 }  }
   
 #ifdef AIO_SUPPORT  #ifdef AIO_SUPPORT
Line 599  sched_task_t * Line 619  sched_task_t *
 schedAIO(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg,   schedAIO(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, 
                 struct aiocb * __restrict acb, void *opt_data, size_t opt_dlen)                  struct aiocb * __restrict acb, void *opt_data, size_t opt_dlen)
 {  {
   #ifdef KQ_DISABLE
           sched_SetErr(ENOTSUP, "disabled kqueue support");
           return NULL;
   #else
         sched_task_t *task;          sched_task_t *task;
         void *ptr;          void *ptr;
   
Line 636  schedAIO(sched_root_task_t * __restrict root, sched_ta Line 660  schedAIO(sched_root_task_t * __restrict root, sched_ta
                 task = sched_unuseTask(task);                  task = sched_unuseTask(task);
   
         return task;          return task;
   #endif  /* KQ_DISABLE */
 }  }
   
 /*  /*
Line 654  sched_task_t * Line 679  sched_task_t *
 schedAIORead(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, int fd,   schedAIORead(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, int fd, 
                 void *buffer, size_t buflen, off_t offset)                  void *buffer, size_t buflen, off_t offset)
 {  {
   #ifdef KQ_DISABLE
           sched_SetErr(ENOTSUP, "disabled kqueue support");
           return NULL;
   #else
         struct aiocb *acb;          struct aiocb *acb;
         off_t off;          off_t off;
   
Line 690  schedAIORead(sched_root_task_t * __restrict root, sche Line 719  schedAIORead(sched_root_task_t * __restrict root, sche
         }          }
   
         return schedAIO(root, func, arg, acb, buffer, buflen);          return schedAIO(root, func, arg, acb, buffer, buflen);
   #endif  /* KQ_DISABLE */
 }  }
   
 /*  /*
Line 708  sched_task_t * Line 738  sched_task_t *
 schedAIOWrite(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, int fd,   schedAIOWrite(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, int fd, 
                 void *buffer, size_t buflen, off_t offset)                  void *buffer, size_t buflen, off_t offset)
 {  {
   #ifdef KQ_DISABLE
           sched_SetErr(ENOTSUP, "disabled kqueue support");
           return NULL;
   #else
         struct aiocb *acb;          struct aiocb *acb;
         off_t off;          off_t off;
   
Line 744  schedAIOWrite(sched_root_task_t * __restrict root, sch Line 778  schedAIOWrite(sched_root_task_t * __restrict root, sch
         }          }
   
         return schedAIO(root, func, arg, acb, buffer, buflen);          return schedAIO(root, func, arg, acb, buffer, buflen);
   #endif  /* KQ_DISABLE */
 }  }
   
 #ifdef EVFILT_LIO  #ifdef EVFILT_LIO
Line 762  sched_task_t * Line 797  sched_task_t *
 schedLIO(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg,   schedLIO(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, 
                 struct aiocb ** __restrict acbs, void *opt_data, size_t opt_dlen)                  struct aiocb ** __restrict acbs, void *opt_data, size_t opt_dlen)
 {  {
   #ifdef KQ_DISABLE
           sched_SetErr(ENOTSUP, "disabled kqueue support");
           return NULL;
   #else
         sched_task_t *task;          sched_task_t *task;
         void *ptr;          void *ptr;
   
Line 799  schedLIO(sched_root_task_t * __restrict root, sched_ta Line 838  schedLIO(sched_root_task_t * __restrict root, sched_ta
                 task = sched_unuseTask(task);                  task = sched_unuseTask(task);
   
         return task;          return task;
   #endif  /* KQ_DISABLE */
 }  }
   
 /*  /*
Line 817  sched_task_t * Line 857  sched_task_t *
 schedLIORead(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, int fd,   schedLIORead(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, int fd, 
                 struct iovec *bufs, size_t nbufs, off_t offset)                  struct iovec *bufs, size_t nbufs, off_t offset)
 {  {
   #ifdef KQ_DISABLE
           sched_SetErr(ENOTSUP, "disabled kqueue support");
           return NULL;
   #else
         struct sigevent sig;          struct sigevent sig;
         struct aiocb **acb;          struct aiocb **acb;
         off_t off;          off_t off;
Line 871  schedLIORead(sched_root_task_t * __restrict root, sche Line 915  schedLIORead(sched_root_task_t * __restrict root, sche
         }          }
   
         return schedLIO(root, func, arg, (void*) acb, bufs, nbufs);          return schedLIO(root, func, arg, (void*) acb, bufs, nbufs);
   #endif  /* KQ_DISABLE */
 }  }
   
 /*  /*
Line 889  sched_task_t * Line 934  sched_task_t *
 schedLIOWrite(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, int fd,   schedLIOWrite(sched_root_task_t * __restrict root, sched_task_func_t func, void *arg, int fd, 
                 struct iovec *bufs, size_t nbufs, off_t offset)                  struct iovec *bufs, size_t nbufs, off_t offset)
 {  {
   #ifdef KQ_DISABLE
           sched_SetErr(ENOTSUP, "disabled kqueue support");
           return NULL;
   #else
         struct sigevent sig;          struct sigevent sig;
         struct aiocb **acb;          struct aiocb **acb;
         off_t off;          off_t off;
Line 943  schedLIOWrite(sched_root_task_t * __restrict root, sch Line 992  schedLIOWrite(sched_root_task_t * __restrict root, sch
         }          }
   
         return schedLIO(root, func, arg, (void*) acb, bufs, nbufs);          return schedLIO(root, func, arg, (void*) acb, bufs, nbufs);
   #endif  /* KQ_DISABLE */
 }  }
 #endif  /* EVFILT_LIO */  #endif  /* EVFILT_LIO */
 #endif  /* AIO_SUPPORT */  #endif  /* AIO_SUPPORT */

Removed from v.1.21  
changed lines
  Added in v.1.22.8.1


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