Browse Source

don't write to mysql while holding joinPartMutex

tags/v2.0.0-rc1
Shivaram Lingamneni 4 years ago
parent
commit
282e7a4d57
1 changed files with 14 additions and 15 deletions
  1. 14
    15
      irc/channel.go

+ 14
- 15
irc/channel.go View File

@@ -682,8 +682,6 @@ func (channel *Channel) Join(client *Client, key string, isSajoin bool, rb *Resp
682 682
 
683 683
 	client.server.logger.Debug("join", fmt.Sprintf("%s joined channel %s", details.nick, chname))
684 684
 
685
-	var message utils.SplitMessage
686
-
687 685
 	givenMode := func() (givenMode modes.Mode) {
688 686
 		channel.joinPartMutex.Lock()
689 687
 		defer channel.joinPartMutex.Unlock()
@@ -707,22 +705,23 @@ func (channel *Channel) Join(client *Client, key string, isSajoin bool, rb *Resp
707 705
 
708 706
 		channel.regenerateMembersCache()
709 707
 
710
-		// no history item for fake persistent joins
711
-		if rb != nil {
712
-			message = utils.MakeMessage("")
713
-			histItem := history.Item{
714
-				Type:        history.Join,
715
-				Nick:        details.nickMask,
716
-				AccountName: details.accountName,
717
-				Message:     message,
718
-			}
719
-			histItem.Params[0] = details.realname
720
-			channel.AddHistoryItem(histItem)
721
-		}
722
-
723 708
 		return
724 709
 	}()
725 710
 
711
+	var message utils.SplitMessage
712
+	// no history item for fake persistent joins
713
+	if rb != nil {
714
+		message = utils.MakeMessage("")
715
+		histItem := history.Item{
716
+			Type:        history.Join,
717
+			Nick:        details.nickMask,
718
+			AccountName: details.accountName,
719
+			Message:     message,
720
+		}
721
+		histItem.Params[0] = details.realname
722
+		channel.AddHistoryItem(histItem)
723
+	}
724
+
726 725
 	client.addChannel(channel)
727 726
 
728 727
 	var modestr string

Loading…
Cancel
Save