libmux: more robust code
This commit is contained in:
parent
80f2165d27
commit
454ae2ad28
1 changed files with 4 additions and 1 deletions
|
|
@ -34,8 +34,11 @@ _muxrecvproc(void *v)
|
||||||
qunlock(&mux->inlk);
|
qunlock(&mux->inlk);
|
||||||
qlock(&mux->lk);
|
qlock(&mux->lk);
|
||||||
_muxqhangup(q);
|
_muxqhangup(q);
|
||||||
while(_muxnbqrecv(q, &p))
|
p = nil;
|
||||||
|
while(_muxnbqrecv(q, &p) && p != nil){
|
||||||
free(p);
|
free(p);
|
||||||
|
p = nil;
|
||||||
|
}
|
||||||
free(q);
|
free(q);
|
||||||
mux->readq = nil;
|
mux->readq = nil;
|
||||||
rwakeup(&mux->rpcfork);
|
rwakeup(&mux->rpcfork);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue