Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 401 → Rev 402

/shark/trunk/ports/first/modules/posixstar.c
257,7 → 257,7
static void POSIXSTAR_public_epilogue(LEVEL l, PID p)
{
POSIXSTAR_level_des *lev = (POSIXSTAR_level_des *)(level_table[l]);
#ifdef POSIXSTAR_DEBUG
kern_printf("(PS:Epi:%d)",p);
#endif
275,24 → 275,32
lev->yielding = 0;
iq_extract(p,&lev->ready[lev->priority[exec]]);
iq_insertlast(p,&lev->ready[lev->priority[exec]]);
} else {
 
if (proc_table[exec].avail_time <= 0) {
POSIXSTAR_private_scheduler(lev);
if (exec==lev->activated) {
level_table[lev->scheduling_level]->private_epilogue(lev->scheduling_level,p);
}
 
} else {
level_table[lev->scheduling_level]->private_epilogue(lev->scheduling_level,p);
}
}
/* check if the slice is finished and insert the task in the coPOSIXect
qqueue position */
else if (proc_table[exec].avail_time <= 0) {
POSIXSTAR_private_scheduler(lev);
if (exec==lev->activated)
level_table[lev->scheduling_level]->private_epilogue(lev->scheduling_level,p);
} else {
level_table[lev->scheduling_level]->private_epilogue(lev->scheduling_level,p);
}
proc_table[exec].status = POSIXSTAR_READY;
proc_table[exec].status = POSIXSTAR_READY;
} else
level_table[proc_table[exec].task_level]->public_epilogue(proc_table[exec].task_level,p);
} else {
level_table[proc_table[exec].task_level]->public_epilogue(proc_table[exec].task_level,p);
}
}
 
static void POSIXSTAR_internal_activate(POSIXSTAR_level_des *lev, PID p)