When RTSP is shut down, the server destroys sessions (with no locking)
while clients are still able to concurrently access them, potentially
leading to a crash. Make sure we unregister the RTSP URL before
cleaning up (then indeed no locking is needed).
void RtspUnsetup( rtsp_stream_t *rtsp )
{
- while( rtsp->sessionc > 0 )
- RtspClientDel( rtsp, rtsp->sessionv[0] );
-
if( rtsp->url )
httpd_UrlDelete( rtsp->url );
+ while( rtsp->sessionc > 0 )
+ RtspClientDel( rtsp, rtsp->sessionv[0] );
+
if( rtsp->host )
httpd_HostDelete( rtsp->host );