--- libaitsched/src/aitsched.c 2023/02/23 15:31:17 1.29.8.2 +++ libaitsched/src/aitsched.c 2023/01/18 23:46:18 1.30 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitsched.c,v 1.29.8.2 2023/02/23 15:31:17 misho Exp $ +* $Id: aitsched.c,v 1.30 2023/01/18 23:46:18 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -386,11 +386,6 @@ schedEnd(sched_root_task_t ** __restrict root) SCHED_QUNLOCK(*root, i); pthread_mutex_destroy(&(*root)->root_mtx[i]); } - - if ((*root)->root_sigthr) { - pthread_cancel((*root)->root_sigthr); - (*root)->root_sigthr ^= (*root)->root_sigthr; - } #endif e_free(*root); @@ -1114,63 +1109,4 @@ schedResumeby(sched_root_task_t * __restrict root, u_c SCHED_QUNLOCK(root, taskSUSPEND); 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; }