diff options
Diffstat (limited to 'src/pkg/runtime/chan.c')
-rw-r--r-- | src/pkg/runtime/chan.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/src/pkg/runtime/chan.c b/src/pkg/runtime/chan.c index ceebebf8b..00d020749 100644 --- a/src/pkg/runtime/chan.c +++ b/src/pkg/runtime/chan.c @@ -905,14 +905,24 @@ sys·closechan(Hchan *c) unlock(&chanlock); } +void +chanclose(Hchan *c) +{ + sys·closechan(c); +} + +bool +chanclosed(Hchan *c) +{ + return (c->closed & Rclosed) != 0; +} + + // closedchan(sel *byte) bool; void sys·closedchan(Hchan *c, bool closed) { - // test Rclosed - closed = 0; - if(c->closed & Rclosed) - closed = 1; + closed = chanclosed(c); FLUSH(&closed); } |