Diff for /libaitsched/src/aitsched.c between versions 1.11 and 1.11.2.3

version 1.11, 2012/07/24 14:06:11 version 1.11.2.3, 2012/08/02 13:45:02
Line 163  schedInit(void ** __restrict data, size_t datlen) Line 163  schedInit(void ** __restrict data, size_t datlen)
                 TAILQ_INIT(&root->root_alarm);                  TAILQ_INIT(&root->root_alarm);
                 TAILQ_INIT(&root->root_node);                  TAILQ_INIT(&root->root_node);
                 TAILQ_INIT(&root->root_proc);                  TAILQ_INIT(&root->root_proc);
                 TAILQ_INIT(&root->root_user);  
                 TAILQ_INIT(&root->root_signal);                  TAILQ_INIT(&root->root_signal);
                   TAILQ_INIT(&root->root_aio);
                   TAILQ_INIT(&root->root_lio);
                   TAILQ_INIT(&root->root_user);
                 TAILQ_INIT(&root->root_event);                  TAILQ_INIT(&root->root_event);
                 TAILQ_INIT(&root->root_eventlo);                  TAILQ_INIT(&root->root_eventlo);
                 TAILQ_INIT(&root->root_suspend);                  TAILQ_INIT(&root->root_suspend);
Line 223  schedEnd(sched_root_task_t ** __restrict root) Line 225  schedEnd(sched_root_task_t ** __restrict root)
                 schedCancel(task);                  schedCancel(task);
         TAILQ_FOREACH_SAFE(task, &(*root)->root_proc, task_node, tmp)          TAILQ_FOREACH_SAFE(task, &(*root)->root_proc, task_node, tmp)
                 schedCancel(task);                  schedCancel(task);
         TAILQ_FOREACH_SAFE(task, &(*root)->root_user, task_node, tmp)  
                 schedCancel(task);  
         TAILQ_FOREACH_SAFE(task, &(*root)->root_signal, task_node, tmp)          TAILQ_FOREACH_SAFE(task, &(*root)->root_signal, task_node, tmp)
                 schedCancel(task);                  schedCancel(task);
           TAILQ_FOREACH_SAFE(task, &(*root)->root_aio, task_node, tmp)
                   schedCancel(task);
           TAILQ_FOREACH_SAFE(task, &(*root)->root_lio, task_node, tmp)
                   schedCancel(task);
           TAILQ_FOREACH_SAFE(task, &(*root)->root_user, task_node, tmp)
                   schedCancel(task);
         TAILQ_FOREACH_SAFE(task, &(*root)->root_event, task_node, tmp)          TAILQ_FOREACH_SAFE(task, &(*root)->root_event, task_node, tmp)
                 schedCancel(task);                  schedCancel(task);
         TAILQ_FOREACH_SAFE(task, &(*root)->root_eventlo, task_node, tmp)          TAILQ_FOREACH_SAFE(task, &(*root)->root_eventlo, task_node, tmp)
Line 375  schedCancel(sched_task_t * __restrict task) Line 381  schedCancel(sched_task_t * __restrict task)
                 case taskPROC:                  case taskPROC:
                         queue = &TASK_ROOT(task)->root_proc;                          queue = &TASK_ROOT(task)->root_proc;
                         break;                          break;
                 case taskUSER:  
                         queue = &TASK_ROOT(task)->root_user;  
                         break;  
                 case taskSIGNAL:                  case taskSIGNAL:
                         queue = &TASK_ROOT(task)->root_signal;                          queue = &TASK_ROOT(task)->root_signal;
                         break;                          break;
                   case taskAIO:
                           queue = &TASK_ROOT(task)->root_aio;
                           break;
                   case taskLIO:
                           queue = &TASK_ROOT(task)->root_lio;
                           break;
                   case taskUSER:
                           queue = &TASK_ROOT(task)->root_user;
                           break;
                 case taskEVENT:                  case taskEVENT:
                         queue = &TASK_ROOT(task)->root_event;                          queue = &TASK_ROOT(task)->root_event;
                         break;                          break;
Line 446  schedCancelby(sched_root_task_t * __restrict root, sch Line 458  schedCancelby(sched_root_task_t * __restrict root, sch
                         return -2;                          return -2;
                 if (schedCancelby(root, taskPROC, criteria, param, hook))                  if (schedCancelby(root, taskPROC, criteria, param, hook))
                         return -2;                          return -2;
                 if (schedCancelby(root, taskUSER, criteria, param, hook))  
                         return -2;  
                 if (schedCancelby(root, taskSIGNAL, criteria, param, hook))                  if (schedCancelby(root, taskSIGNAL, criteria, param, hook))
                         return -2;                          return -2;
                   if (schedCancelby(root, taskAIO, criteria, param, hook))
                           return -2;
                   if (schedCancelby(root, taskLIO, criteria, param, hook))
                           return -2;
                   if (schedCancelby(root, taskUSER, criteria, param, hook))
                           return -2;
                 if (schedCancelby(root, taskEVENT, criteria, param, hook))                  if (schedCancelby(root, taskEVENT, criteria, param, hook))
                         return -2;                          return -2;
                 if (schedCancelby(root, taskEVENTLO, criteria, param, hook))                  if (schedCancelby(root, taskEVENTLO, criteria, param, hook))
Line 480  schedCancelby(sched_root_task_t * __restrict root, sch Line 496  schedCancelby(sched_root_task_t * __restrict root, sch
                 case taskPROC:                  case taskPROC:
                         queue = &root->root_proc;                          queue = &root->root_proc;
                         break;                          break;
                 case taskUSER:  
                         queue = &root->root_user;  
                         break;  
                 case taskSIGNAL:                  case taskSIGNAL:
                         queue = &root->root_signal;                          queue = &root->root_signal;
                         break;                          break;
                   case taskAIO:
                           queue = &root->root_aio;
                           break;
                   case taskLIO:
                           queue = &root->root_lio;
                           break;
                   case taskUSER:
                           queue = &root->root_user;
                           break;
                 case taskEVENT:                  case taskEVENT:
                         queue = &root->root_event;                          queue = &root->root_event;
                         break;                          break;
Line 595  schedRun(sched_root_task_t *root, volatile intptr_t *  Line 617  schedRun(sched_root_task_t *root, volatile intptr_t * 
                                         root->root_hooks.hook_exec.condition &&                                           root->root_hooks.hook_exec.condition && 
                                         root->root_hooks.hook_exec.condition(root, (void*) killState)) {                                          root->root_hooks.hook_exec.condition(root, (void*) killState)) {
                                 if ((task = root->root_hooks.hook_exec.fetch(root, NULL)))                                  if ((task = root->root_hooks.hook_exec.fetch(root, NULL)))
                                        schedCall(task);                                        root->root_ret = schedCall(task);
                         }                          }
                 else                  else
                         /* trigger scheduler loop */                          /* trigger scheduler loop */
                         while (!*killState && root && root->root_hooks.hook_exec.fetch) {                          while (!*killState && root && root->root_hooks.hook_exec.fetch) {
                                 if ((task = root->root_hooks.hook_exec.fetch(root, NULL)))                                  if ((task = root->root_hooks.hook_exec.fetch(root, NULL)))
                                        schedCall(task);                                        root->root_ret = schedCall(task);
                         }                          }
         } else          } else
                 /* infinite scheduler loop */                  /* infinite scheduler loop */
                 while (root && root->root_hooks.hook_exec.fetch)                  while (root && root->root_hooks.hook_exec.fetch)
                         if ((task = root->root_hooks.hook_exec.fetch(root, NULL)))                          if ((task = root->root_hooks.hook_exec.fetch(root, NULL)))
                                schedCall(task);                                root->root_ret = schedCall(task);
   
         return 0;          return 0;
 }  }

Removed from v.1.11  
changed lines
  Added in v.1.11.2.3


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