code: 9ferno

Download patch

ref: b1eca83bfc6cb960855d9e5b6457e710e335284e
parent: edafd783588d269cd0234e775b464be728bdcd92
author: 9ferno <gophone2015@gmail.com>
date: Fri Nov 5 12:19:06 EDT 2021

avoid panic when closing an empty channel

--- a/os/port/chan.c
+++ b/os/port/chan.c
@@ -512,7 +512,9 @@
 void
 cclose(Chan *c)
 {
-	if(c == nil || c->ref < 1 || c->flag&CFREE)
+	if(c == nil)
+		return;
+	if(c->ref < 1 || c->flag&CFREE)
 		panic("cclose %#p", getcallerpc(&c));
 
 	if(decref(c))