Diff for /libaitsched/src/aitsched.c between versions 1.31 and 1.34.2.1

version 1.31, 2023/02/25 15:55:01 version 1.34.2.1, 2023/08/31 15:25:59
Line 268  schedInit(void ** __restrict data, size_t datlen) Line 268  schedInit(void ** __restrict data, size_t datlen)
 #ifdef HAVE_LIBPTHREAD  #ifdef HAVE_LIBPTHREAD
                 for (i = 0; i < taskMAX; i++)                  for (i = 0; i < taskMAX; i++)
                         pthread_mutex_unlock(&root->root_mtx[i]);                          pthread_mutex_unlock(&root->root_mtx[i]);
   
                   pthread_sigmask(SIG_BLOCK, NULL, &root->root_oldset);
   #else
                   sigprocmask(SIG_BLOCK, NULL, &root->root_oldset);
 #endif  #endif
   
                 if (data && *data) {                  if (data && *data) {
Line 404  schedEnd(sched_root_task_t ** __restrict root) Line 408  schedEnd(sched_root_task_t ** __restrict root)
                 pthread_mutex_unlock(&(*root)->root_sigmtx);                  pthread_mutex_unlock(&(*root)->root_sigmtx);
         }          }
         pthread_mutex_destroy(&(*root)->root_sigmtx);          pthread_mutex_destroy(&(*root)->root_sigmtx);
   #else
           sigprocmask(SIG_SETMASK, &(*root)->root_oldset, NULL);
 #endif  #endif
   
         e_free(*root);          e_free(*root);
Line 1181  int Line 1187  int
 schedSignalDispatch(sched_root_task_t * __restrict root, int on)  schedSignalDispatch(sched_root_task_t * __restrict root, int on)
 {  {
         sigset_t ss;          sigset_t ss;
           struct timespec ts = { .tv_sec = 1, .tv_nsec = 0 };
 #ifndef HAVE_LIBPTHREAD  #ifndef HAVE_LIBPTHREAD
         sched_SetErr(ENOTSUP, "Library has not support pthreads");          sched_SetErr(ENOTSUP, "Library has not support pthreads");
         return -1;          return -1;
Line 1199  schedSignalDispatch(sched_root_task_t * __restrict roo Line 1206  schedSignalDispatch(sched_root_task_t * __restrict roo
 #else  #else
                 root->root_sigthr = NULL;                  root->root_sigthr = NULL;
 #endif  #endif
                 pthread_sigmask(SIG_SETMASK, &root->root_oldset, NULL);  
   
                 pthread_mutex_unlock(&root->root_sigmtx);  
                 return 0;                  return 0;
         }          }
   
           /* if we have not using polling, then we must turn on */
           if (sched_timespecisinf(&root->root_poll))
                   schedPolling(root, &ts, NULL);
   
         pthread_attr_init(&attr);          pthread_attr_init(&attr);
         pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);          pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
 #ifdef SCHED_RR  #ifdef SCHED_RR
Line 1214  schedSignalDispatch(sched_root_task_t * __restrict roo Line 1222  schedSignalDispatch(sched_root_task_t * __restrict roo
 #endif  #endif
   
         sigfillset(&ss);          sigfillset(&ss);
        pthread_sigmask(SIG_BLOCK, &ss, &root->root_oldset);        pthread_sigmask(SIG_BLOCK, &ss, NULL);
 
         if (pthread_create(&root->root_sigthr, &attr, _sched_sigDisp, root)) {          if (pthread_create(&root->root_sigthr, &attr, _sched_sigDisp, root)) {
                 sched_SetErr(errno, "pthread_create(SignalDispatch) #%d - %s",                   sched_SetErr(errno, "pthread_create(SignalDispatch) #%d - %s", 
                                 errno, strerror(errno));                                  errno, strerror(errno));

Removed from v.1.31  
changed lines
  Added in v.1.34.2.1


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