From 895dfc09ce3ff57ef2c53d78000f77a6ee67fcbc Mon Sep 17 00:00:00 2001
From: capossele <angelocapossele@gmail.com>
Date: Fri, 26 Jul 2019 10:10:21 +0100
Subject: [PATCH] :zap: improved mutex usage

---
 packages/events/event.go | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/packages/events/event.go b/packages/events/event.go
index ae8de77f..9bd60533 100644
--- a/packages/events/event.go
+++ b/packages/events/event.go
@@ -10,22 +10,22 @@ type Event struct {
 
 func (this *Event) Attach(closure *Closure) {
 	this.mutex.Lock()
-	defer this.mutex.Unlock()
 	this.callbacks[closure.Id] = closure.Fnc
+	this.mutex.Unlock()
 }
 
 func (this *Event) Detach(closure *Closure) {
 	this.mutex.Lock()
-	defer this.mutex.Unlock()
 	delete(this.callbacks, closure.Id)
+	this.mutex.Unlock()
 }
 
 func (this *Event) Trigger(params ...interface{}) {
 	this.mutex.RLock()
-	defer this.mutex.RUnlock()
 	for _, handler := range this.callbacks {
 		this.triggerFunc(handler, params...)
 	}
+	this.mutex.RUnlock()
 }
 
 func NewEvent(triggerFunc func(handler interface{}, params ...interface{})) *Event {
-- 
GitLab