mirror of
https://github.com/openlibrecommunity/olcrtc.git
synced 2026-05-31 17:39:44 +00:00
fix: waitForNewSession spam
This commit is contained in:
@@ -282,7 +282,7 @@ func (s *Server) serve(ctx context.Context) {
|
||||
default:
|
||||
}
|
||||
logger.Infof("AcceptStream returned %v — waiting for new session", err)
|
||||
time.Sleep(100 * time.Millisecond)
|
||||
s.waitForNewSession(ctx, sess)
|
||||
continue
|
||||
}
|
||||
|
||||
@@ -294,6 +294,22 @@ func (s *Server) serve(ctx context.Context) {
|
||||
}
|
||||
}
|
||||
|
||||
func (s *Server) waitForNewSession(ctx context.Context, dead *smux.Session) {
|
||||
for {
|
||||
select {
|
||||
case <-ctx.Done():
|
||||
return
|
||||
case <-time.After(50 * time.Millisecond):
|
||||
}
|
||||
s.sessMu.RLock()
|
||||
current := s.session
|
||||
s.sessMu.RUnlock()
|
||||
if current != dead {
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (s *Server) shutdown() {
|
||||
s.sessMu.Lock()
|
||||
if s.session != nil {
|
||||
|
||||
Reference in New Issue
Block a user