Diff for /libaitsched/src/hooks.c between versions 1.14 and 1.14.2.2

version 1.14, 2012/08/21 12:54:39 version 1.14.2.2, 2012/08/22 13:37:23
Line 210  sched_hook_cancel(void *task, void *arg __unused) Line 210  sched_hook_cancel(void *task, void *arg __unused)
                 case taskTHREAD:                  case taskTHREAD:
 #ifdef HAVE_LIBPTHREAD  #ifdef HAVE_LIBPTHREAD
                         pthread_cancel((pthread_t) TASK_VAL(t));                          pthread_cancel((pthread_t) TASK_VAL(t));
                           if (TASK_FLAG(t) == PTHREAD_CREATE_JOINABLE)    /* joinable thread */
                                   schedTask(TASK_ROOT(t), _sched_threadJoin, TASK_ARG(t),
                                                   TASK_VAL(t), TASK_DATA(t), TASK_DATLEN(t));
 #endif  #endif
                         TASK_UNLOCK(t);                          TASK_UNLOCK(t);
                 default:                  default:
Line 233  sched_hook_thread(void *task, void *arg) Line 236  sched_hook_thread(void *task, void *arg)
 {  {
         sched_task_t *t = task;          sched_task_t *t = task;
         pthread_t tid;          pthread_t tid;
           sigset_t ns, os;
   
         if (!t || !TASK_ROOT(t))          if (!t || !TASK_ROOT(t))
                 return (void*) -1;                  return (void*) -1;
   
           sigfillset(&ns);
           pthread_sigmask(SIG_BLOCK, &ns, &os);
         if (pthread_create(&tid, (pthread_attr_t*) arg,           if (pthread_create(&tid, (pthread_attr_t*) arg, 
                                 (void *(*)(void*)) TASK_FUNC(t), t)) {                                  (void *(*)(void*)) TASK_FUNC(t), t)) {
                 LOGERR;                  LOGERR;
                   pthread_sigmask(SIG_SETMASK, &os, NULL);
                 return (void*) -1;                  return (void*) -1;
         }          }
           pthread_sigmask(SIG_SETMASK, &os, NULL);
   
         if (!TASK_ISLOCKED(t))          if (!TASK_ISLOCKED(t))
                 TASK_LOCK(t);                  TASK_LOCK(t);

Removed from v.1.14  
changed lines
  Added in v.1.14.2.2


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