Commit 85658965 authored by Max Kellermann's avatar Max Kellermann

alsa_output: don't use atexit() to clean up the ALSA library

Call snd_config_update_free_global() manually in our finish() method, don't use atexit().
parent eb059a78
......@@ -136,15 +136,8 @@ alsa_init(G_GNUC_UNUSED const struct audio_format *audio_format,
const struct config_param *param,
G_GNUC_UNUSED GError **error)
{
/* no need for pthread_once thread-safety when reading config */
static int free_global_registered;
struct alsa_data *ad = alsa_data_new();
if (!free_global_registered) {
atexit((void(*)(void))snd_config_update_free_global);
free_global_registered = 1;
}
alsa_configure(ad, param);
return ad;
......@@ -156,6 +149,9 @@ alsa_finish(void *data)
struct alsa_data *ad = data;
alsa_data_free(ad);
/* free libasound's config cache */
snd_config_update_free_global();
}
static bool
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment