|
@@ -414,7 +414,7 @@ func cmodeHandler(server *Server, client *Client, msg ircmsg.IrcMessage) bool {
|
414
|
414
|
// so we only output one warning for each list type when full
|
415
|
415
|
listFullWarned := make(map[ChannelMode]bool)
|
416
|
416
|
|
417
|
|
- clientIsOp := channel.ClientIsAtLeast(client, ChannelOperator)
|
|
417
|
+ clientIsOp := channel.clientIsAtLeastNoMutex(client, ChannelOperator)
|
418
|
418
|
var alreadySentPrivError bool
|
419
|
419
|
|
420
|
420
|
for _, change := range changes {
|
|
@@ -545,7 +545,7 @@ func cmodeHandler(server *Server, client *Client, msg ircmsg.IrcMessage) bool {
|
545
|
545
|
}
|
546
|
546
|
}
|
547
|
547
|
|
548
|
|
- change := channel.applyModeMember(client, change.mode, change.op, change.arg)
|
|
548
|
+ change := channel.applyModeMemberNoMutex(client, change.mode, change.op, change.arg)
|
549
|
549
|
if change != nil {
|
550
|
550
|
applied = append(applied, change)
|
551
|
551
|
}
|
|
@@ -561,7 +561,7 @@ func cmodeHandler(server *Server, client *Client, msg ircmsg.IrcMessage) bool {
|
561
|
561
|
}
|
562
|
562
|
} else {
|
563
|
563
|
//TODO(dan): we should just make ModeString return a slice here
|
564
|
|
- args := append([]string{client.nick, channel.name}, strings.Split(channel.ModeString(client), " ")...)
|
|
564
|
+ args := append([]string{client.nick, channel.name}, strings.Split(channel.modeStringNoLock(client), " ")...)
|
565
|
565
|
client.Send(nil, client.nickMaskString, RPL_CHANNELMODEIS, args...)
|
566
|
566
|
client.Send(nil, client.nickMaskString, RPL_CHANNELCREATED, client.nick, channel.name, strconv.FormatInt(channel.createdTime.Unix(), 10))
|
567
|
567
|
}
|