#54 threads blocked during shutdown if web server is streaming

None
open
nobody
platform (8)
9
2013-07-31
2011-01-17
Anonymous
No

Hi. Using 1.6.9 version to build a AV server.

While streaming, if I send a signal to shut down the server, it will block in the UpnpUnRegisterRootDevice() or UpnpFinish(), waiting for the web server to release some mutex it's holding. I noticed GeexBox uShare behaves the same way (tried 1.1a which does not uses the modified pupnp).

More specifically, when blocking in UpnpUnRegisterRootDevice(), it seems to be in (view it as a callstack :) )

1. ithread_mutex_lock(&gWebMutex);
2. alias_release()
3. web_server_set_alias()
4. UpnpUnRegisterRootDevice()

When blocking in UpnpFinish() it looks like the blocking is in
1. ThreadPoolShutdown(&gMiniServerThreadPool);
2. UPnPFinish()

Are there any special things to do when shutting down the SDK while it's streaming?

Thanks,
Carl Benson
Wind River

Related

Bugs: #117

Discussion

  • Marcelo Roberto Jimenez

    • assigned_to: nobody --> mroberto
    • priority: 5 --> 9
     
  • Marcelo Roberto Jimenez

    Hi Carl,

    Is it possible for you to find out which is the other thread blocked in your system (the streaming thread)? And where it is blocked?

    My guess is that the streaming thread is locking the mutex in a long operation. It should be an easy fix, just break the operation in pieces and check for shutdown, if not, continue streaming.

    Regards,
    Marcelo.

     
  • Marcelo Roberto Jimenez

    • assigned_to: mroberto --> nobody
     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks