|
|
| version 1.14, 2012/08/08 23:04:41 | version 1.14.2.1, 2012/08/21 11:07:16 |
|---|---|
| Line 175 schedInit(void ** __restrict data, size_t datlen) | Line 175 schedInit(void ** __restrict data, size_t datlen) |
| TAILQ_INIT(&root->root_suspend); | TAILQ_INIT(&root->root_suspend); |
| TAILQ_INIT(&root->root_ready); | TAILQ_INIT(&root->root_ready); |
| TAILQ_INIT(&root->root_unuse); | TAILQ_INIT(&root->root_unuse); |
| TAILQ_INIT(&root->root_thread); | |
| #ifdef HAVE_LIBPTHREAD | #ifdef HAVE_LIBPTHREAD |
| for (i = 0; i < taskMAX; i++) | for (i = 0; i < taskMAX; i++) |
| Line 244 schedEnd(sched_root_task_t ** __restrict root) | Line 245 schedEnd(sched_root_task_t ** __restrict root) |
| schedCancel(task); | schedCancel(task); |
| TAILQ_FOREACH_SAFE(task, &(*root)->root_ready, task_node, tmp) | TAILQ_FOREACH_SAFE(task, &(*root)->root_ready, task_node, tmp) |
| schedCancel(task); | schedCancel(task); |
| TAILQ_FOREACH_SAFE(task, &(*root)->root_thread, task_node, tmp) | |
| schedCancel(task); | |
| #ifdef HAVE_LIBPTHREAD | #ifdef HAVE_LIBPTHREAD |
| pthread_mutex_lock(&(*root)->root_mtx[taskUNUSE]); | pthread_mutex_lock(&(*root)->root_mtx[taskUNUSE]); |
| Line 408 schedCancel(sched_task_t * __restrict task) | Line 411 schedCancel(sched_task_t * __restrict task) |
| case taskREADY: | case taskREADY: |
| queue = &TASK_ROOT(task)->root_ready; | queue = &TASK_ROOT(task)->root_ready; |
| break; | break; |
| case taskTHREAD: | |
| queue = &TASK_ROOT(task)->root_thread; | |
| break; | |
| default: | default: |
| queue = NULL; | queue = NULL; |
| } | } |
| Line 477 schedCancelby(sched_root_task_t * __restrict root, sch | Line 483 schedCancelby(sched_root_task_t * __restrict root, sch |
| return -2; | return -2; |
| if (schedCancelby(root, taskREADY, criteria, param, hook)) | if (schedCancelby(root, taskREADY, criteria, param, hook)) |
| return -2; | return -2; |
| if (schedCancelby(root, taskTHREAD, criteria, param, hook)) | |
| return -2; | |
| return 0; | return 0; |
| } | } |
| /* choosen queue */ | /* choosen queue */ |
| Line 522 schedCancelby(sched_root_task_t * __restrict root, sch | Line 530 schedCancelby(sched_root_task_t * __restrict root, sch |
| break; | break; |
| case taskREADY: | case taskREADY: |
| queue = &root->root_ready; | queue = &root->root_ready; |
| break; | |
| case taskTHREAD: | |
| queue = &root->root_thread; | |
| break; | break; |
| default: | default: |
| return 0; | return 0; |