[Spice-devel] [PATCH spice-gtk] Add call of gst_deinit at program exit
Christophe de Dinechin
christophe.de.dinechin at gmail.com
Thu Oct 19 11:38:12 UTC 2017
> On 19 Oct 2017, at 13:19, Frediano Ziglio <fziglio at redhat.com> wrote:
>
>>
>> Hi
>>
>> ----- Original Message -----
>>>>
>>>> From: Christophe de Dinechin <dinechin at redhat.com>
>>>>
>>>> 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 at redhat.com>
>>>> ---
>>>> 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.
>>
>>
>
> If the main target is just spicy and knowing spicy is mainly a developer
> tool you can add a call to gst_deinit in spicy.
Why would only spicy be concerned? That’s the case where I saw
the issue, but I guess any user of the library has the same issue.
> Frediano
More information about the Spice-devel
mailing list