audio: clean up before monitor clean uppull-monitor-2016-08-08
commita384c205acaa4b6fe6d4d392af47b49b2c448eb4
authorMarc-André Lureau <marcandre.lureau@redhat.com>
Mon, 1 Aug 2016 11:23:43 +0000 (1 15:23 +0400)
committerMarkus Armbruster <armbru@redhat.com>
Mon, 8 Aug 2016 12:17:00 +0000 (8 14:17 +0200)
treee4169ed10e099e09ce4fa4209ac29fb9afa36a0d
parent2ef45716e1d4820f10a90ee2f17a9cb4fe5a8806
audio: clean up before monitor clean up

Since aa5cb7f5e, the chardevs are being cleaned up when leaving qemu,
before the atexit() handlers. audio_cleanup() may use the monitor to
notify of changes. For compatibility reasons, let's clean up audio
before the monitor so it keeps emitting monitor events.

The audio_atexit() function is made idempotent (so it can be called
multiple times), and renamed to audio_cleanup(). Since coreaudio
backend is using a 'isAtexit' code path, change it to check
audio_is_cleaning_up() instead, so the path is taken during normal
exit.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20160801112343.29082-3-marcandre.lureau@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
audio/audio.c
audio/audio.h
audio/coreaudio.c
vl.c