server: fix race condition

This commit is contained in:
aler9
2021-05-04 16:05:01 +02:00
committed by Alessandro Ros
parent f2af7489ff
commit 9e618910ac

View File

@@ -175,18 +175,23 @@ func (sc *ServerConn) run() {
sc.tcpFrameWriteBuffer.Close()
<-sc.tcpFrameBackgroundWriteDone
}
sc.nconn.Close()
sc.s.connClose <- sc
<-sc.terminate
return err
case <-sc.terminate:
sc.nconn.Close()
<-readDone
if sc.tcpFrameEnabled {
sc.tcpFrameWriteBuffer.Close()
<-sc.tcpFrameBackgroundWriteDone
}
sc.nconn.Close()
<-readDone
return liberrors.ErrServerTerminated{}
}
}()