202,6 → 202,9 |
t3.tv_sec = t / 1000000; |
t3.tv_nsec = (t % 1000000) * 1000; |
|
if (b->vtimer!=NIL) kern_event_delete(b->vtimer); |
b->vtimer=NIL; |
|
SUBTIMESPEC(&b->dline, acttime, &t2); |
if (/* 1 */ TIMESPEC_A_LT_B(&b->dline, acttime) || |
/* 2 */ TIMESPEC_A_GT_B(&t3, &t2) ) { |
223,17 → 226,15 |
|
b->flags=GRUBSTAR_ACTIVE; |
|
} |
} else { |
|
SUBTIMESPEC(&b->dline, &t3, &t2); |
if (b->vtimer!=NIL) kern_event_delete(b->vtimer); |
b->vtimer=NIL; |
b->vtimer = kern_event_post(&t2, GRUBSTAR_ANC, b); |
} |
|
|
/* record the current task inserted in the master module */ |
b->current = p; |
|
|
job_task_default_model(job, b->dline); |
job_task_def_noexc(job); |
level_table[ lev->scheduling_level ]-> |
335,6 → 336,12 |
kern_event_delete(b->dline_timer); |
b->dline_timer=NIL; |
} |
|
if (b->vtimer!=NIL) { |
kern_event_delete(b->vtimer); |
b->vtimer=NIL; |
} |
|
|
/* and, finally, we reinsert the task in the master level */ |
job_task_default_model(job, b->dline); |