From 217da8e826f7efb2d4f59484601927bd1e60df7d Mon Sep 17 00:00:00 2001
From: Cole Brown <bigswim@gmail.com>
Date: Wed, 31 Jul 2019 19:46:51 -0400
Subject: [PATCH] Return error when closing already closed emitter

---
 basic.go | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/basic.go b/basic.go
index 0e02bf0..0e92883 100644
--- a/basic.go
+++ b/basic.go
@@ -38,7 +38,7 @@ func (e *emitter) Emit(evt interface{}) error {
 
 func (e *emitter) Close() error {
 	if !atomic.CompareAndSwapInt32(&e.closed, 0, 1) {
-		panic("closed an emitter more than once")
+		return fmt.Errorf("closed an emitter more than once")
 	}
 	if atomic.AddInt32(&e.n.nEmitters, -1) == 0 {
 		e.dropper(e.typ)