Changeset 378 in code
- Timestamp:
- Aug 10, 2020, 1:03:38 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/server.go
r370 r378 80 80 81 81 s.lock.Lock() 82 for _, record := range users { 83 s.Logger.Printf("starting bouncer for user %q", record.Username) 84 u := newUser(s, &record) 85 s.users[u.Username] = u 86 87 go u.run() 82 for i := range users { 83 s.addUserLocked(&users[i]) 88 84 } 89 85 s.lock.Unlock() … … 105 101 } 106 102 107 s.Logger.Printf("starting bouncer for new user %q", user.Username) 108 u := newUser(s, user) 109 s.users[u.Username] = u 110 go u.run() 111 return u, nil 103 return s.addUserLocked(user), nil 112 104 } 113 105 … … 116 108 u := s.users[name] 117 109 s.lock.Unlock() 110 return u 111 } 112 113 func (s *Server) addUserLocked(user *User) *user { 114 s.Logger.Printf("starting bouncer for user %q", user.Username) 115 u := newUser(s, user) 116 s.users[u.Username] = u 117 118 go func() { 119 u.run() 120 121 s.lock.Lock() 122 delete(s.users, u.Username) 123 s.lock.Unlock() 124 }() 125 118 126 return u 119 127 }
Note:
See TracChangeset
for help on using the changeset viewer.