mirror of
https://github.com/ergochat/ergo.git
synced 2025-05-03 21:27:33 +02:00
fix deadlock on channel state mutex
This commit is contained in:
parent
d97e964b35
commit
af2ac175e3
@ -616,9 +616,11 @@ func (channel *Channel) Founder() string {
|
|||||||
|
|
||||||
func (channel *Channel) HighestUserMode(client *Client) (result modes.Mode) {
|
func (channel *Channel) HighestUserMode(client *Client) (result modes.Mode) {
|
||||||
channel.stateMutex.RLock()
|
channel.stateMutex.RLock()
|
||||||
clientModes := channel.members[client].modes
|
defer channel.stateMutex.RUnlock()
|
||||||
channel.stateMutex.RUnlock()
|
if clientData, ok := channel.members[client]; ok {
|
||||||
return clientModes.HighestChannelUserMode()
|
return clientData.modes.HighestChannelUserMode()
|
||||||
|
}
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (channel *Channel) Settings() (result ChannelSettings) {
|
func (channel *Channel) Settings() (result ChannelSettings) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user