Merge pull request #1225 from lucas-clemente/fix-1224

fix race condition when setting up TLS sessions in the server
This commit is contained in:
Marten Seemann
2018-03-07 15:33:40 +07:00
committed by GitHub

View File

@@ -140,10 +140,11 @@ func (s *server) setupTLS() error {
case tlsSession := <-sessionChan:
connID := tlsSession.connID
sess := tlsSession.sess
s.sessionsMutex.Lock()
if _, ok := s.sessions[connID]; ok { // drop this session if it already exists
s.sessionsMutex.Unlock()
continue
}
s.sessionsMutex.Lock()
s.sessions[connID] = sess
s.sessionsMutex.Unlock()
s.runHandshakeAndSession(sess, connID)