kernel: awake() wake up only truly blocking syscalls
If a syscall did not entered sleep(), the pendingWakeup is not consumed.
This commit is contained in:
@ -839,6 +839,7 @@ sysrendezvous(void* tagp, void* rendvalp)
|
||||
l = &p->rendhash;
|
||||
}
|
||||
|
||||
up->blockingsc = up->cursyscall;
|
||||
if(awakeOnBlock(up)){
|
||||
unlock(&up->rgrp->l);
|
||||
result = UINT2PTR(up->rendval);
|
||||
|
Reference in New Issue
Block a user