191,6 → 191,10 |
/* Change task level */ |
if (lev->flag[p] & POSIX_CHANGE_LEVEL) { |
|
#ifdef POSIX_DEBUG |
kern_printf("(P:NewLev %d)",lev->new_level[p]); |
#endif |
|
STD_command_message msg; |
|
proc_table[p].status = SLEEP; |
293,6 → 297,10 |
|
msg = (STD_command_message *)m; |
|
#ifdef POSIX_DEBUG |
kern_printf("(P:MSG %d)",msg->command); |
#endif |
|
switch(msg->command) { |
case STD_SET_NEW_LEVEL: |
|
311,7 → 319,9 |
} else { |
lev->new_slice[p] = 0; |
} |
|
|
lev->new_control[p] = 0; |
|
if (nrt->policy == NRT_RR_POLICY) |
lev->new_control[p] |= CONTROL_CAP; |
|
334,7 → 344,7 |
proc_table[p].wcet = lev->slice; |
} |
|
proc_table[p].control = lev->new_control[p]; |
proc_table[p].control |= lev->new_control[p]; |
|
POSIX_public_activate(l,p); |
|