[Live-devel] live555 ProxyServerMediaSession "race condition".

Yogev Cohen Yogev.Cohen at nice.com
Tue Sep 17 23:33:09 PDT 2013


Hi,

I know that the application is event based and single threaded but there is a problem which creating a ProxyServerMediaSession and trying to delete it before we get the describe response.

This is my scenario:
                Create a new ProxyServerMediaSession - it in turn calls DESCRIBE on the backend.
                Call RTSPServer::removeMediaSession or RTSPServer::deleteMediaSession before that DESCRIBE call completes. (the ProxySMS instance is deleted but the Backend DESCRIBE handler is not disabled).
                Once the after DESCRIBE handler is called it reaches an invalid object (the deleted ProxySMS) and we crash.

I Know the ProxyServerMediaSession was designed to be a black box that handles all the logics inside in a fire and forget manner, but the cleanup code is not consistent.

What is the best way to rewrite the code so it will cleanup any open backend connections and handlers or protect against this scenario?

Thanks,
Yogev.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20130918/09844982/attachment.html>


More information about the live-devel mailing list