On 05/03/12 21:32, malc wrote: > On Thu, 3 May 2012, Jan Kiszka wrote: > >> Not only clean up enabled voices but any registered one. Backends like >> pulsaudio rely on unconditional fini handler invocations. >> >> This fixes "Memory pool destroyed but not all memory blocks freed!" >> warnings on VM shutdowns when pa is used. > > Perhaps it's better to actually handle VOICE_DISABLE in pa's ctl_[in|out]? > > [..snip..]
Waded through the source. Have to agree with Jan here: Handling this via VOICE_{ENABLE,DISABLE} isn't going to fly. It would mean to move the complete pulseaudio setup (connect to daemon, create streams, create worker thread, ...).from init() to VOICE_ENABLE so we can cleanup in VOICE_DISABLE and don't need fini(). This isn't how it is supposed to work ... cheers, Gerd