- Timestamp:
- Feb 6, 2020, 8:30:44 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/server.go
r23 r24 4 4 "fmt" 5 5 "net" 6 "sync" 6 7 7 8 "gopkg.in/irc.v3" … … 43 44 Upstreams []Upstream // TODO: per-user 44 45 46 lock sync.Mutex 45 47 downstreamConns []*downstreamConn 46 48 } … … 75 77 76 78 conn := newDownstreamConn(s, netConn) 77 s.downstreamConns = append(s.downstreamConns, conn)78 79 go func() { 80 s.lock.Lock() 81 s.downstreamConns = append(s.downstreamConns, conn) 82 s.lock.Unlock() 79 83 if err := conn.readMessages(); err != nil { 80 84 conn.logger.Printf("failed to handle messages: %v", err) 81 85 } 86 s.lock.Lock() 87 for i, c := range s.downstreamConns { 88 if c == conn { 89 s.downstreamConns = append(s.downstreamConns[:i], s.downstreamConns[i+1:]...) 90 break 91 } 92 } 93 s.lock.Unlock() 82 94 }() 83 95 }
Note:
See TracChangeset
for help on using the changeset viewer.