'Twas brillig, and Colin Guthrie at 25/03/11 23:09 did gyre and gimble: > 'Twas brillig, and Colin Guthrie at 28/02/11 20:26 did gyre and gimble: >> Hi, >> >> Just cataloguing my issues so we don't forget.... >> >> 1. It seems that when running pulseaudio -k, that the daemon terminates >> pretty brutally... I'm not yet sure if the daemon dies horribly or just >> doesn't unload the modules properly. Due to this, the X11 properties on >> the root window are left over (because they were inserted by >> module-x11-publish). Due to this, the daemon will not autospawn or be >> started properly. >> >> This indicates two separate problems: >> a) The module shutdown process is not quite working right. >> b) The code that detects whether the connection params (in the left >> over x11 props) are meant to be local (which indicates a crash) so that >> autospawn or manual startup will proceed successfully. > > OK, I've not debugged part a) here but I've taken a look at b). OK, I've debugged part a) now.... and I suspect it's probably also something Tanu will have to comment on. During a normal shut down, the pa_core is unreffed. Normally this will result in the refcnt reaching zero and the core_free() function being called. This normally works fine, but when the dbus protocol is loaded, it refs the core and in so doing, it effectively prevents the clean shutdown of the daemon. I suspect that we'll need to handle dbus protocol tidy up specifically by unloading it in the daemon/main.c or find some way to not ref the core in the dbus stuff - is it actually safe enough to simply not call pa_core_ref/pa_core_unref? (with the exception being the pa_core_unref in daemon/main.c obviously!) Any other ideas welcome too of course :) Col -- Colin Guthrie gmane(at)colin.guthr.ie http://colin.guthr.ie/ Day Job: Tribalogic Limited [http://www.tribalogic.net/] Open Source: Mageia Contributor [http://www.mageia.org/] PulseAudio Hacker [http://www.pulseaudio.org/] Trac Hacker [http://trac.edgewall.org/]