Diff for /libaitsched/src/aitsched.c between versions 1.6 and 1.6.2.3

version 1.6, 2012/03/13 10:01:59 version 1.6.2.3, 2012/04/26 08:15:22
Line 471  schedCancelby(sched_root_task_t * __restrict root, sch Line 471  schedCancelby(sched_root_task_t * __restrict root, sch
  * return: -1 error or 0 ok   * return: -1 error or 0 ok
  */   */
 int  int
schedRun(sched_root_task_t * __restrict root, volatile intptr_t * __restrict killState)schedRun(sched_root_task_t *root, volatile intptr_t * __restrict killState)
 {  {
         sched_task_t *task;          sched_task_t *task;
   
Line 481  schedRun(sched_root_task_t * __restrict root, volatile Line 481  schedRun(sched_root_task_t * __restrict root, volatile
         if (root->root_hooks.hook_exec.run)          if (root->root_hooks.hook_exec.run)
                 if (root->root_hooks.hook_exec.run(root, NULL))                  if (root->root_hooks.hook_exec.run(root, NULL))
                         return -1;                          return -1;
        if (root->root_hooks.hook_exec.fetch) {
                if (killState) {        if (killState) {
                        if (root->root_hooks.hook_exec.condition)                if (root->root_hooks.hook_exec.condition)
                                while (root->root_hooks.hook_exec.condition(root, (void*) killState)) {                        /* condition scheduler loop */
                                        if ((task = root->root_hooks.hook_exec.fetch(root, NULL)))                        while (root && root->root_hooks.hook_exec.fetch && 
                                                schedCall(task);                                        root->root_hooks.hook_exec.condition && 
                                }                                        root->root_hooks.hook_exec.condition(root, (void*) killState)) {
                        else                                if ((task = root->root_hooks.hook_exec.fetch(root, NULL)))
                                while (!*killState) {                                        schedCall(task);
                                        if ((task = root->root_hooks.hook_exec.fetch(root, NULL)))                        }
                                                schedCall(task);                else
                                }                        /* trigger scheduler loop */
                } else                        while (!*killState && root && root->root_hooks.hook_exec.fetch) {
                        while ((task = root->root_hooks.hook_exec.fetch(root, NULL)))                                if ((task = root->root_hooks.hook_exec.fetch(root, NULL)))
                                         schedCall(task);
                         }
         } else
                 /* infinite scheduler loop */
                 while (root && root->root_hooks.hook_exec.fetch)
                         if ((task = root->root_hooks.hook_exec.fetch(root, NULL)))
                                 schedCall(task);                                  schedCall(task);
         }  
   
         return 0;          return 0;
 }  }

Removed from v.1.6  
changed lines
  Added in v.1.6.2.3


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