[ http://dev.sourcefabric.org/browse/LS-268?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15539#action_15539 ]
David Baelde commented on LS-268: --------------------------------- Hi Romain! Thanks a lot for pointing it out. I remember our conclusions in the discussion about namespace (un)registration, so my first reaction was: Yeeeepee, so many headaches go away, we didn't really need to deal with re-awakening, checking that threads have exited, etc. However I'm afraid the truth is that the old difficult code is justified and we overlooked the issue the other day. (As a result we'll get a failed assertion because we don't reset the namespace to [] after unregistering it.) Here's how to re-awaken: p = playlist(...) x = output.dummy(...) At this point, the output has started automatically, it's been woken up, and it woke up p. Later on, execute this code: source.shutdown(x) Now x and p have been stopped and put to sleep, which is necessary to make garbage collection possible. However, in that case we can re-enable them: output.dummy(p) The new output starts automatically and re-awakens p. We can also do output.dummy(x), even though it feels weird. The really weird thing is that the only way to startup an active source is implicit upon creation. > Clean thread management for input.http() (and input.harbor()) > ------------------------------------------------------------- > > Key: LS-268 > URL: http://dev.sourcefabric.org/browse/LS-268 > Project: Liquidsoap > Issue Type: Bug > Components: Liquidsoap > Priority: Blocker > > Currently, when an input.http goes to #sleep, it asks its feeding thread to > exit, but does not check that it exited. As a consequence, a #wake_up quickly > after the #sleep could cause (1) the old thread to not exit and hence (2) two > feeding threads at the same time. > (Another slightly related issue is that the feeding thread might have > non-trivial activity during the shutdown phase: it can be in the middle of a > connection when shutdown starts, and we have to wait for it to start decoding > before that it notices that it should exit.) -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://dev.sourcefabric.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira ------------------------------------------------------------------------------ Create and publish websites with WebMatrix Use the most popular FREE web apps or write code yourself; WebMatrix provides all the features you need to develop and publish your website. http://p.sf.net/sfu/ms-webmatrix-sf _______________________________________________ Savonet-devl mailing list Savonet-devl@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-devl