From: Christophe de Dinechin <dinechin@xxxxxxxxxx>
This is useful for some instrumentation, e.g. the leaks tracer, that perform some of their operations within gst_deinit.
Without this patch, if you run spicy with GST_DEBUG="GST_TRACER:7" GST_TRACERS="leaks" spicy ... the leak tracer does not run at exit, because it runs in gst_deinit.
Signed-off-by: Christophe de Dinechin <dinechin@xxxxxxxxxx> --- spice-common | 2 +- src/channel-display-gst.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/spice-common b/spice-common index 429ad96..ba11de3 160000 --- a/spice-common +++ b/spice-common @@ -1 +1 @@ -Subproject commit 429ad965371ceaaf60b81ccbed7da660ef9e0a94 +Subproject commit ba11de3f3fd58d1b1a99bb62dd9e409e9961a78e diff --git a/src/channel-display-gst.c b/src/channel-display-gst.c index f978602..c9ab9bf 100644 --- a/src/channel-display-gst.c +++ b/src/channel-display-gst.c @@ -578,6 +578,7 @@ static gboolean gstvideo_init(void) GError *err = NULL; if (gst_init_check(NULL, NULL, &err)) { success = 1; + atexit(gst_deinit); } else { spice_warning("Disabling GStreamer video support: %s", err->message); g_clear_error(&err);
Calling atexit from a library is a bad idea.
Could you elaborate?
I do not really agree with this statement. I’d actually go as far as saying that libraries are the reason atexit exists to start with. Apparently, I’m not alone, see first three responses in that all mention libraries.
Christophe
|
_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel