Diff for /libaitsched/src/hooks.c between versions 1.39 and 1.39.4.1

version 1.39, 2022/12/20 22:40:32 version 1.39.4.1, 2023/02/23 17:13:01
Line 12  terms: Line 12  terms:
 All of the documentation and software included in the ELWIX and AITNET  All of the documentation and software included in the ELWIX and AITNET
 Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org>  Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org>
   
Copyright 2004 - 2022Copyright 2004 - 2023
         by Michael Pounov <misho@elwix.org>.  All rights reserved.          by Michael Pounov <misho@elwix.org>.  All rights reserved.
   
 Redistribution and use in source and binary forms, with or without  Redistribution and use in source and binary forms, with or without
Line 47  SUCH DAMAGE. Line 47  SUCH DAMAGE.
 #include "hooks.h"  #include "hooks.h"
   
   
 static inline void  
 transit_task2ready(sched_task_t * __restrict t, sched_queue_t * __restrict q)  
 {  
         remove_task_from(t, q);  
   
         t->task_type = taskREADY;  
         insert_task_to(t, &(TASK_ROOT(t))->root_ready);  
 }  
   
 #ifdef HAVE_LIBPTHREAD  #ifdef HAVE_LIBPTHREAD
 static void *  static void *
 _sched_threadWrapper(sched_task_t *t)  _sched_threadWrapper(sched_task_t *t)
Line 359  sched_hook_cancel(void *task, void *arg __unused) Line 350  sched_hook_cancel(void *task, void *arg __unused)
 #endif  #endif
                         break;                          break;
                 case taskSIGNAL:                  case taskSIGNAL:
 #if SUP_ENABLE == KQ_SUPPORT  
                         /* check for multi subscribers */                          /* check for multi subscribers */
                         TAILQ_FOREACH_SAFE(tt, &r->root_signal, task_node, tmp)                          TAILQ_FOREACH_SAFE(tt, &r->root_signal, task_node, tmp)
                                 if (TASK_VAL(tt) == TASK_VAL(t))                                  if (TASK_VAL(tt) == TASK_VAL(t))
                                         flg++;                                          flg++;
   #if SUP_ENABLE == KQ_SUPPORT
 #ifdef __NetBSD__  #ifdef __NetBSD__
                         EV_SET(&chg[0], TASK_VAL(t), EVFILT_SIGNAL, flg < 2 ? EV_DELETE : 0,                           EV_SET(&chg[0], TASK_VAL(t), EVFILT_SIGNAL, flg < 2 ? EV_DELETE : 0, 
                                         0, 0, (intptr_t) TASK_VAL(t));                                          0, 0, (intptr_t) TASK_VAL(t));
Line 374  sched_hook_cancel(void *task, void *arg __unused) Line 365  sched_hook_cancel(void *task, void *arg __unused)
                         /* restore signal */                          /* restore signal */
                         if (flg < 2)                          if (flg < 2)
                                 signal(TASK_VAL(t), SIG_DFL);                                  signal(TASK_VAL(t), SIG_DFL);
   #else
                           if (flg < 2)
                                   sigdelset(&TASK_ROOT(t)->root_sigset, TASK_VAL(t));
 #endif  #endif
                         break;                          break;
 #ifdef AIO_SUPPORT  #ifdef AIO_SUPPORT
Line 823  sched_hook_proc(void *task, void *arg __unused) Line 817  sched_hook_proc(void *task, void *arg __unused)
 void *  void *
 sched_hook_signal(void *task, void *arg __unused)  sched_hook_signal(void *task, void *arg __unused)
 {  {
 #if SUP_ENABLE == KQ_SUPPORT  
         sched_task_t *t = task;          sched_task_t *t = task;
   
   #if SUP_ENABLE == KQ_SUPPORT
         struct kevent chg[1];          struct kevent chg[1];
         struct timespec timeout = { 0, 0 };          struct timespec timeout = { 0, 0 };
   
Line 846  sched_hook_signal(void *task, void *arg __unused) Line 841  sched_hook_signal(void *task, void *arg __unused)
                         LOGERR;                          LOGERR;
                 return (void*) -1;                  return (void*) -1;
         }          }
   #else
           sigaddset(&TASK_ROOT(t)->root_sigset, TASK_VAL(t));
 #endif  #endif
   
         return NULL;          return NULL;
 }  }
   

Removed from v.1.39  
changed lines
  Added in v.1.39.4.1


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