Merge pull request #224 from dh1tw/rpc-server-subscribe-deadlock

fix possible deadlock since code can return without unlocking the Mutex
This commit is contained in:
Asim Aslam 2018-01-02 10:22:13 +00:00 committed by GitHub
commit 45420d8413
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -182,12 +182,12 @@ func (s *rpcServer) Subscribe(sb Subscriber) error {
} }
s.Lock() s.Lock()
defer s.Unlock()
_, ok = s.subscribers[sub] _, ok = s.subscribers[sub]
if ok { if ok {
return fmt.Errorf("subscriber %v already exists", s) return fmt.Errorf("subscriber %v already exists", s)
} }
s.subscribers[sub] = nil s.subscribers[sub] = nil
s.Unlock()
return nil return nil
} }