mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-25 09:40:37 +00:00
valgrind suppressions: ignore XInitThreads leaks
As we load that symbol dynamically, valgrind gets confused when it leaks and reports the leak against an unrelated library and an unknown (??) symbol. To address that, put the loading and calling of that symbol in a separate function, and ignore any malloc leak happening in that function.
This commit is contained in:
parent
fe5b775060
commit
ae7a213628
2 changed files with 25 additions and 5 deletions
|
@ -203,12 +203,14 @@ GST_START_TEST (test_state_changes_down_seq)
|
|||
|
||||
GST_END_TEST;
|
||||
|
||||
|
||||
static Suite *
|
||||
states_suite (void)
|
||||
/* Separate function because XInitThreads leaks, but valgrind
|
||||
* gets confused when a dynamically loaded symbol leaks, and
|
||||
* shows it as a ??? symbol in an unrelated library, making
|
||||
* it awkward to ignore in the suppression files
|
||||
*/
|
||||
static void
|
||||
call_xinitthreads (void)
|
||||
{
|
||||
Suite *s = suite_create ("states_base");
|
||||
TCase *tc_chain = tcase_create ("general");
|
||||
GModule *libx11;
|
||||
|
||||
libx11 =
|
||||
|
@ -220,6 +222,15 @@ states_suite (void)
|
|||
}
|
||||
g_module_close (libx11);
|
||||
}
|
||||
}
|
||||
|
||||
static Suite *
|
||||
states_suite (void)
|
||||
{
|
||||
Suite *s = suite_create ("states_base");
|
||||
TCase *tc_chain = tcase_create ("general");
|
||||
|
||||
call_xinitthreads ();
|
||||
|
||||
suite_add_tcase (s, tc_chain);
|
||||
tcase_add_checked_fixture (tc_chain, setup, teardown);
|
||||
|
|
|
@ -569,3 +569,12 @@
|
|||
fun:glXChooseFBConfig
|
||||
fun:gst_gl_context_glx_choose_format
|
||||
}
|
||||
{
|
||||
<a one time alloc>
|
||||
Memcheck:Leak
|
||||
match-leak-kinds: definite
|
||||
fun:malloc
|
||||
...
|
||||
fun:call_xinitthreads
|
||||
fun:states_suite
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue