mirror of
https://github.com/aler9/gortsplib
synced 2025-10-05 15:16:51 +08:00
server: fix race condition
This commit is contained in:
@@ -175,18 +175,23 @@ func (sc *ServerConn) run() {
|
|||||||
sc.tcpFrameWriteBuffer.Close()
|
sc.tcpFrameWriteBuffer.Close()
|
||||||
<-sc.tcpFrameBackgroundWriteDone
|
<-sc.tcpFrameBackgroundWriteDone
|
||||||
}
|
}
|
||||||
|
|
||||||
sc.nconn.Close()
|
sc.nconn.Close()
|
||||||
sc.s.connClose <- sc
|
sc.s.connClose <- sc
|
||||||
|
|
||||||
<-sc.terminate
|
<-sc.terminate
|
||||||
|
|
||||||
return err
|
return err
|
||||||
|
|
||||||
case <-sc.terminate:
|
case <-sc.terminate:
|
||||||
|
sc.nconn.Close()
|
||||||
|
<-readDone
|
||||||
|
|
||||||
if sc.tcpFrameEnabled {
|
if sc.tcpFrameEnabled {
|
||||||
sc.tcpFrameWriteBuffer.Close()
|
sc.tcpFrameWriteBuffer.Close()
|
||||||
<-sc.tcpFrameBackgroundWriteDone
|
<-sc.tcpFrameBackgroundWriteDone
|
||||||
}
|
}
|
||||||
sc.nconn.Close()
|
|
||||||
<-readDone
|
|
||||||
return liberrors.ErrServerTerminated{}
|
return liberrors.ErrServerTerminated{}
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
Reference in New Issue
Block a user