Diff for /libaitsched/src/aitsched.c between versions 1.29.8.2 and 1.30

version 1.29.8.2, 2023/02/23 15:31:17 version 1.30, 2023/01/18 23:46:18
Line 386  schedEnd(sched_root_task_t ** __restrict root) Line 386  schedEnd(sched_root_task_t ** __restrict root)
                 SCHED_QUNLOCK(*root, i);                  SCHED_QUNLOCK(*root, i);
                 pthread_mutex_destroy(&(*root)->root_mtx[i]);                  pthread_mutex_destroy(&(*root)->root_mtx[i]);
         }          }
   
         if ((*root)->root_sigthr) {  
                 pthread_cancel((*root)->root_sigthr);  
                 (*root)->root_sigthr ^= (*root)->root_sigthr;  
         }  
 #endif  #endif
   
         e_free(*root);          e_free(*root);
Line 1114  schedResumeby(sched_root_task_t * __restrict root, u_c Line 1109  schedResumeby(sched_root_task_t * __restrict root, u_c
         SCHED_QUNLOCK(root, taskSUSPEND);          SCHED_QUNLOCK(root, taskSUSPEND);
   
         return flg;          return flg;
 }  
   
 static void *  
 _sched_sigDisp(void *arg)  
 {  
         sched_root_task_t *sched = arg;  
         sigset_t ss;  
         int sig;  
   
         sigfillset(&ss);  
         while (sched->root_sigthr) {  
                 sigwait(&ss, &sig);  
   
         }  
   
         return NULL;  
 }  
   
 /*  
  * schedSignalDispatch() - Activate or Deactivate signal dispatcher  
  *  
  * @root = root task  
  * @on = Activate or =0 deactivate  
  * return: -1 error or 0 ok  
  */  
 int  
 schedSignalDispatch(sched_root_task_t * __restrict root, int on)  
 {  
         sigset_t ss;  
 #ifndef HAVE_LIBPTHREAD  
         sched_SetErr(ENOTSUP, "Library has not support pthreads");  
         return -1;  
 #else  
         pthread_attr_t attr;  
 #endif  
   
         if (!on) {  
                 pthread_cancel(root->root_sigthr);  
                 root->root_sigthr ^= root->root_sigthr;  
                 return 0;  
         }  
   
         pthread_attr_init(&attr);  
         pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);  
 #ifdef SCHED_RR  
         pthread_attr_setschedpolicy(&attr, SCHED_RR);  
 #else  
         pthread_attr_setschedpolicy(&attr, SCHED_OTHER);  
 #endif  
   
         sigfillset(&ss);  
         pthread_sigmask(SIG_BLOCK, &ss, NULL);  
         if (pthread_create(&root->root_sigthr, &attr, _sched_sigDisp, root)) {  
                 sched_SetErr(errno, "pthread_create(SignalDispatch) #%d - %s",   
                                 errno, strerror(errno));  
                 return -1;  
         }  
   
         return 0;  
 }  }

Removed from v.1.29.8.2  
changed lines
  Added in v.1.30


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