diff options
| -rw-r--r-- | sys/src/9/port/chan.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/src/9/port/chan.c b/sys/src/9/port/chan.c index d0d0ce4bb..9577eb8d3 100644 --- a/sys/src/9/port/chan.c +++ b/sys/src/9/port/chan.c @@ -536,7 +536,10 @@ closechanq(Chan *c) if(up != 0 && palloc.Lock.p != up && canqlock(&clunkq.q)){ c = up->dot; up->dot = nil; - kproc("closeproc", closeproc, nil); + if(!waserror()){ + kproc("closeproc", closeproc, nil); + poperror(); + } up->dot = c; }else wakeup(&clunkq.r); |
