Part of wait()/waitpid() fix in revision 2629:2634 in PM - kernel
unblocks a process that has no priority (stopped with sys_nice() and PRIO_STOP) and reschedules it if that gives it RTS flags of 0.
This commit is contained in:
parent
f84653d908
commit
65a1d21963
@ -77,6 +77,12 @@ message *m_ptr; /* pointer to request message */
|
||||
rp->p_reg.sp = (reg_t) frp;
|
||||
rp->p_reg.pc = (reg_t) smsg.sm_sighandler;
|
||||
|
||||
/* Reschedule if necessary. */
|
||||
if(rp->p_rts_flags & NO_PRIORITY) {
|
||||
rp->p_rts_flags &= ~NO_PRIORITY;
|
||||
if (rp->p_rts_flags == 0) lock_enqueue(rp);
|
||||
} else kprintf("system: warning: sigsend a running process\n");
|
||||
|
||||
return(OK);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user