|
|
| version 1.4.2.4, 2012/01/24 14:04:58 | version 1.5, 2012/01/24 21:59:47 |
|---|---|
| Line 132 schedInit(void ** __restrict data, size_t datlen) | Line 132 schedInit(void ** __restrict data, size_t datlen) |
| } else { | } else { |
| memset(root, 0, sizeof(sched_root_task_t)); | memset(root, 0, sizeof(sched_root_task_t)); |
| /* INFINIT polling period by default */ | |
| sched_timespecinf(&root->root_poll); | |
| #ifdef HAVE_LIBPTHREAD | #ifdef HAVE_LIBPTHREAD |
| for (i = 0; i < taskMAX; i++) | for (i = 0; i < taskMAX; i++) |
| if (pthread_mutex_init(&root->root_mtx[i], NULL)) { | if (pthread_mutex_init(&root->root_mtx[i], NULL)) { |
| Line 416 schedCancelby(sched_root_task_t * __restrict root, sch | Line 419 schedCancelby(sched_root_task_t * __restrict root, sch |
| break; | break; |
| } | } |
| } else if (criteria == CRITERIA_TV) { | } else if (criteria == CRITERIA_TV) { |
| if (!timespeccmp(&TASK_TS(task), (struct timespec*) param, -)) { | if (!sched_timespeccmp(&TASK_TS(task), (struct timespec*) param, -)) { |
| flg++; | flg++; |
| break; | break; |
| } | } |
| Line 480 schedRun(sched_root_task_t * __restrict root, volatile | Line 483 schedRun(sched_root_task_t * __restrict root, volatile |
| while ((task = root->root_hooks.hook_exec.fetch(root, NULL))) | while ((task = root->root_hooks.hook_exec.fetch(root, NULL))) |
| schedCall(task); | schedCall(task); |
| } | } |
| return 0; | |
| } | |
| /* | |
| * schedPolling() - Polling timeout period if no timer task is present | |
| * @root = root task | |
| * @ts = timeout polling period, if ==NULL INFINIT timeout | |
| * @tsold = old timeout polling if !=NULL | |
| * return: -1 error or 0 ok | |
| */ | |
| inline int | |
| schedPolling(sched_root_task_t * __restrict root, struct timespec * __restrict ts, | |
| struct timespec * __restrict tsold) | |
| { | |
| if (!root) | |
| return -1; | |
| if (tsold) | |
| *tsold = root->root_poll; | |
| if (!ts) | |
| sched_timespecinf(&root->root_poll); | |
| else | |
| root->root_poll = *ts; | |
| return 0; | return 0; |
| } | } |