Commit ae7a2136 authored by Mathieu Duponchelle's avatar Mathieu Duponchelle

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.
parent fe5b7750
......@@ -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
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment