Kernel: fix clearing IPC references resulting in system crash
This commit is contained in:
parent
04229f0581
commit
9c7dcbfec3
1 changed files with 3 additions and 3 deletions
|
@ -540,9 +540,9 @@ PRIVATE void clear_ipc(
|
|||
}
|
||||
xpp = &(*xpp)->p_q_link; /* proceed to next queued */
|
||||
}
|
||||
rc->p_rts_flags &= ~RTS_SENDING;
|
||||
RTS_UNSET(rc, RTS_SENDING);
|
||||
}
|
||||
rc->p_rts_flags &= ~RTS_RECEIVING;
|
||||
RTS_UNSET(rc, RTS_RECEIVING);
|
||||
}
|
||||
|
||||
/*===========================================================================*
|
||||
|
@ -600,7 +600,7 @@ int caller_ret; /* code to return on callers */
|
|||
/* Check if process depends on given process. */
|
||||
if (P_BLOCKEDON(rp) == rc->p_endpoint) {
|
||||
rp->p_reg.retreg = caller_ret; /* return requested code */
|
||||
RTS_UNSET(rp, (RTS_RECEIVING|RTS_SENDING)); /* no longer blocking */
|
||||
clear_ipc(rp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue