| 
version 1.1.1.1.2.5, 2011/09/09 14:14:33
 | 
version 1.1.1.1.2.7, 2011/10/04 12:32:23
 | 
| 
 Line 322  schedCancelby(sched_root_task_t * __restrict root, sch
 | 
 Line 322  schedCancelby(sched_root_task_t * __restrict root, sch
 | 
 |                                  break; | 
                                  break; | 
 |                          } | 
                          } | 
 |                  } else if (criteria == CRITERIA_FD) { | 
                  } else if (criteria == CRITERIA_FD) { | 
|                         if (TASK_FD(task) == (u_long) param) { |                         if (TASK_FD(task) == (int) param) { | 
 |                                  flg++; | 
                                  flg++; | 
 |                                  break; | 
                                  break; | 
 |                          } | 
                          } | 
| 
 Line 362  schedCancelby(sched_root_task_t * __restrict root, sch
 | 
 Line 362  schedCancelby(sched_root_task_t * __restrict root, sch
 | 
 |  /* | 
  /* | 
 |   * schedRun() - Scheduler *run loop* | 
   * schedRun() - Scheduler *run loop* | 
 |   * @root = root task | 
   * @root = root task | 
 |   | 
   * @killState = kill condition variable, if !=0 stop scheduler loop | 
 |   * return: -1 error or 0 ok | 
   * return: -1 error or 0 ok | 
 |   */ | 
   */ | 
 |  int | 
  int | 
| schedRun(sched_root_task_t * __restrict root) | schedRun(sched_root_task_t * __restrict root, volatile intptr_t * __restrict killState) | 
 |  { | 
  { | 
 |          sched_task_t *task; | 
          sched_task_t *task; | 
 |   | 
   | 
| 
 Line 375  schedRun(sched_root_task_t * __restrict root)
 | 
 Line 376  schedRun(sched_root_task_t * __restrict root)
 | 
 |          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 (root->root_hooks.hook_exec.fetch) { | 
|                 while ((task = root->root_hooks.hook_exec.fetch(root, NULL))) |                 if (killState) | 
|                         schedCall(task); |                         while (!*killState && (task = root->root_hooks.hook_exec.fetch(root, NULL))) | 
|   |                                 schedCall(task); | 
|   |                 else | 
|   |                         while ((task = root->root_hooks.hook_exec.fetch(root, NULL))) | 
|   |                                 schedCall(task); | 
|   |         } | 
 |   | 
   | 
 |          return 0; | 
          return 0; | 
 |  } | 
  } |