[pulseaudio-discuss] [PATCH v5 39/39] bluetooth: Revive module-bluetooth-discover
Tanu Kaskinen
tanu.kaskinen at linux.intel.com
Sun Sep 29 09:39:48 PDT 2013
On Tue, 2013-09-24 at 19:45 -0300, jprvita at gmail.com wrote:
> +void pa__done(pa_module* m) {
> + struct userdata *u;
> +
> + pa_assert(m);
> +
> + if (!(u = m->userdata))
> + return;
> +
> + if (u->bluez5_module)
> + pa_module_unload(m->core, u->bluez5_module, true);
> +
> + if (u->bluez4_module)
> + pa_module_unload(m->core, u->bluez4_module, true);
This crashes when shutting down the daemon, because when the daemon
unloads all modules, module-bluez*-discover gets unloaded before
module-bluetooth-discover, so the y->bluez5_module and u->bluez4_module
pointers become stale. I see two ways of fixing this: add a hook that is
fired when modules are unloaded and use that hook in
module-bluetooth-discover to drop the reference to the unloaded module,
or unload module-bluetooth-discover immediately after loading
module-bluez5-discover and module-bluez4-discover. The second solution
is of course much simpler, but I proposed that already earlier, and you
didn't like that.
--
Tanu
More information about the pulseaudio-discuss
mailing list