mirror of
https://github.com/m1k1o/neko.git
synced 2025-06-01 18:33:04 +02:00
fix deadlock.
This commit is contained in:
parent
6bd46b438e
commit
137614c087
3 changed files with 15 additions and 29 deletions
|
@ -67,21 +67,18 @@ func (peer *WebSocketPeerCtx) Send(event string, payload interface{}) {
|
|||
}
|
||||
|
||||
func (peer *WebSocketPeerCtx) Destroy(reason string) {
|
||||
peer.mu.Lock()
|
||||
defer peer.mu.Unlock()
|
||||
|
||||
if peer.connection == nil {
|
||||
return
|
||||
}
|
||||
|
||||
peer.Send(
|
||||
event.SYSTEM_DISCONNECT,
|
||||
message.SystemDisconnect{
|
||||
Message: reason,
|
||||
})
|
||||
|
||||
err := peer.connection.Close()
|
||||
peer.logger.Err(err).Msg("peer connection destroyed")
|
||||
peer.mu.Lock()
|
||||
defer peer.mu.Unlock()
|
||||
|
||||
peer.connection = nil
|
||||
if peer.connection != nil {
|
||||
err := peer.connection.Close()
|
||||
peer.logger.Err(err).Msg("peer connection destroyed")
|
||||
peer.connection = nil
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue