Skip to content

Commit 4dd27ed

Browse files
committed
fix the data race
1 parent 8ff1034 commit 4dd27ed

File tree

4 files changed

+16
-16
lines changed

4 files changed

+16
-16
lines changed

manager-emit.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ import "encoding/json"
44

55
// Emit - informs all subscribers about the event
66
func (thisRef *Manager) Emit(eventName string) {
7-
thisRef.eventsMutex.RLock()
8-
defer thisRef.eventsMutex.RUnlock()
7+
thisRef.eventsMutex.Lock()
8+
defer thisRef.eventsMutex.Unlock()
99

1010
thisRef.addEventIfNotExists(eventName)
1111

@@ -17,8 +17,8 @@ func (thisRef *Manager) Emit(eventName string) {
1717

1818
// EmitWithData - informs all subscribers about the event with data
1919
func (thisRef *Manager) EmitWithData(eventName string, data []byte, autoMarshal ...bool) {
20-
thisRef.eventsMutex.RLock()
21-
defer thisRef.eventsMutex.RUnlock()
20+
thisRef.eventsMutex.Lock()
21+
defer thisRef.eventsMutex.Unlock()
2222

2323
thisRef.addEventIfNotExists(eventName)
2424

manager-helpers.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ func (thisRef *Manager) addEventIfNotExists(eventName string) {
1717
}
1818

1919
func (thisRef *Manager) addSubscriberIfNotExists(eventName string, eventHandler Handler, shouldCallOnce bool) bool {
20-
// thisRef.eventsMutex.RLock()
21-
// defer thisRef.eventsMutex.RUnlock()
20+
// thisRef.eventsMutex.Lock()
21+
// defer thisRef.eventsMutex.Unlock()
2222

2323
// 1. Check if delegate for the event already there, assumes map-key exists
2424
var alreadyThere = false
@@ -45,8 +45,8 @@ func (thisRef *Manager) addSubscriberIfNotExists(eventName string, eventHandler
4545
}
4646

4747
func (thisRef *Manager) addSubscriberWithDataIfNotExists(eventName string, eventHandlerWithData HandlerWithData, shouldCallOnce bool) bool {
48-
// thisRef.eventsMutex.RLock()
49-
// defer thisRef.eventsMutex.RUnlock()
48+
// thisRef.eventsMutex.Lock()
49+
// defer thisRef.eventsMutex.Unlock()
5050

5151
// 1. Check if delegate for the event already there, assumes map-key exists
5252
var alreadyThere = false

manager-off.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ import (
66

77
// Off - remove a subscriber for an event
88
func (thisRef *Manager) Off(eventName string, eventHandler Handler) {
9-
thisRef.eventsMutex.RLock()
10-
defer thisRef.eventsMutex.RUnlock()
9+
thisRef.eventsMutex.Lock()
10+
defer thisRef.eventsMutex.Unlock()
1111

1212
thisRef.addEventIfNotExists(eventName)
1313

@@ -16,8 +16,8 @@ func (thisRef *Manager) Off(eventName string, eventHandler Handler) {
1616

1717
// OffWithData - remove a subscriber with data for an event
1818
func (thisRef *Manager) OffWithData(eventName string, eventHandlerWithData HandlerWithData) {
19-
thisRef.eventsMutex.RLock()
20-
defer thisRef.eventsMutex.RUnlock()
19+
thisRef.eventsMutex.Lock()
20+
defer thisRef.eventsMutex.Unlock()
2121

2222
thisRef.addEventIfNotExists(eventName)
2323

manager-on.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ package events
22

33
// On - add a subscriber for an event
44
func (thisRef *Manager) On(eventName string, eventHandler Handler, callOnce ...bool) {
5-
thisRef.eventsMutex.RLock()
6-
defer thisRef.eventsMutex.RUnlock()
5+
thisRef.eventsMutex.Lock()
6+
defer thisRef.eventsMutex.Unlock()
77

88
shouldCallOnce := false
99
if len(callOnce) > 0 {
@@ -16,8 +16,8 @@ func (thisRef *Manager) On(eventName string, eventHandler Handler, callOnce ...b
1616

1717
// OnWithData - add a subscriber with data for an event
1818
func (thisRef *Manager) OnWithData(eventName string, eventHandlerWithData HandlerWithData, callOnce ...bool) {
19-
thisRef.eventsMutex.RLock()
20-
defer thisRef.eventsMutex.RUnlock()
19+
thisRef.eventsMutex.Lock()
20+
defer thisRef.eventsMutex.Unlock()
2121

2222
shouldCallOnce := false
2323
if len(callOnce) > 0 {

0 commit comments

Comments
 (0)