ソースを参照

fix #745

tags/v2.0.0-rc1
Shivaram Lingamneni 4年前
コミット
90b428b416
1個のファイルの変更8行の追加2行の削除
  1. 8
    2
      irc/channelmanager.go

+ 8
- 2
irc/channelmanager.go ファイルの表示

@@ -214,6 +214,9 @@ func (cm *ChannelManager) SetRegistered(channelName string, account string) (err
214 214
 		return err
215 215
 	}
216 216
 	cm.registeredChannels.Add(cfname)
217
+	if skel, err := Skeleton(channel.Name()); err == nil {
218
+		cm.registeredSkeletons.Add(skel)
219
+	}
217 220
 	return nil
218 221
 }
219 222
 
@@ -243,6 +246,9 @@ func (cm *ChannelManager) SetUnregistered(channelName string, account string) (e
243 246
 	}
244 247
 	entry.channel.SetUnregistered(account)
245 248
 	delete(cm.registeredChannels, cfname)
249
+	if skel, err := Skeleton(entry.channel.Name()); err == nil {
250
+		delete(cm.registeredSkeletons, skel)
251
+	}
246 252
 	return nil
247 253
 }
248 254
 
@@ -350,9 +356,9 @@ func (cm *ChannelManager) IsPurged(chname string) (result bool) {
350 356
 		return false
351 357
 	}
352 358
 
353
-	cm.Lock()
359
+	cm.RLock()
354 360
 	result = cm.purgedChannels.Has(chname)
355
-	cm.Unlock()
361
+	cm.RUnlock()
356 362
 	return
357 363
 }
358 364
 

読み込み中…
キャンセル
保存