Changeset 137 in code for trunk/downstream.go
- Timestamp:
- Mar 23, 2020, 3:05:00 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/downstream.go
r136 r137 305 305 306 306 if u := dc.user; u != nil { 307 u.lock.Lock() 308 for i := range u.downstreamConns { 309 if u.downstreamConns[i] == dc { 310 u.downstreamConns = append(u.downstreamConns[:i], u.downstreamConns[i+1:]...) 311 break 312 } 313 } 314 u.lock.Unlock() 307 u.removeDownstream(dc) 315 308 } 316 309 … … 661 654 dc.logger.Printf("registration complete for user %q", dc.username) 662 655 663 dc.user.lock.Lock() 664 firstDownstream := len(dc.user.downstreamConns) == 0 665 dc.user.downstreamConns = append(dc.user.downstreamConns, dc) 666 dc.user.lock.Unlock() 656 firstDownstream := dc.user.addDownstream(dc) 667 657 668 658 dc.SendMessage(&irc.Message{ … … 708 698 historyName := dc.rawUsername 709 699 700 // TODO: need to take dc.network into account here 710 701 var seqPtr *uint64 711 702 if firstDownstream { … … 718 709 } 719 710 711 // TODO: we need to create a consumer when adding networks on-the-fly 720 712 consumer, ch := uc.ring.NewConsumer(seqPtr) 721 713 go func() { … … 735 727 seq := consumer.Close() 736 728 729 // TODO: need to take dc.network into account here 737 730 dc.user.lock.Lock() 738 731 lastDownstream := len(dc.user.downstreamConns) == 0
Note:
See TracChangeset
for help on using the changeset viewer.