> On 19 Oct 2017, at 13:15, Marc-André Lureau <marcandre.lureau@xxxxxxxxxx> wrote: > > Hi > > ----- Original Message ----- >>> >>> 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. > > And calling gst_deinit() from a library is also wrong. Why? What would be a better way? The scenario where we call gst_init is a bit complicated, and there are multiple clients that may call it. I see no case where, when we have called gst_init, we are not responsible for also calling gst_deinit. In any case, it’s even more wrong to not call gst_deinit at all, and I don’t see a simple way to do that from main with the existing code without elaborate tests that have somewhat deep knowledge of the library internals. How would you do it? > _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel