From 38b64b491abd559a3db3106a5a04c1329307eb75 Mon Sep 17 00:00:00 2001 From: paladintyrion Date: Mon, 22 Jun 2015 08:36:02 +0800 Subject: [PATCH] fix map usage in events.go --- event/events.go | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/event/events.go b/event/events.go index 048c72a..da9ee67 100644 --- a/event/events.go +++ b/event/events.go @@ -92,14 +92,14 @@ func (uq *UserEventQueue) AddHandler(handlers ...Handler) { // New initializes a user event queue with the specified wide session id. func (ueqs queues) New(sid string) *UserEventQueue { - q := ueqs[sid] - if nil != q { + + if q, ok := ueqs[sid]; ok { logger.Warnf("Already exist a user queue in session [%s]", sid) return q } - q = &UserEventQueue{ + q := &UserEventQueue{ Sid: sid, Queue: make(chan *Event, maxQueueLength), } @@ -124,14 +124,11 @@ func (ueqs queues) New(sid string) *UserEventQueue { // Close closes a user event queue with the specified wide session id. func (ueqs queues) Close(sid string) { - q := ueqs[sid] - if nil == q { - return + + if q, ok := ueqs[sid]; ok { + close(q.Queue) + delete(ueqs, sid) } - - close(q.Queue) - - delete(ueqs, sid) } // Handler represents an event handler.