From: Stefan Kost Date: Thu, 21 Dec 2006 14:24:54 +0000 (+0000) Subject: tests/check/elements/queue.c: fix race in underrun test X-Git-Tag: RELEASE-0_10_12~130 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a378db54fb95a265523da1c53043efdea20cedda;p=platform%2Fupstream%2Fgstreamer.git tests/check/elements/queue.c: fix race in underrun test Original commit message from CVS: * tests/check/elements/queue.c: (queue_overrun), (queue_underrun), (GST_START_TEST): fix race in underrun test --- diff --git a/ChangeLog b/ChangeLog index 057001d..db1b6b7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2006-12-21 Stefan Kost + * tests/check/elements/queue.c: (queue_overrun), (queue_underrun), + (GST_START_TEST): + fix race in underrun test + +2006-12-21 Stefan Kost + * tests/check/elements/.cvsignore: ignore more diff --git a/tests/check/elements/queue.c b/tests/check/elements/queue.c index a30212b..176f2de 100644 --- a/tests/check/elements/queue.c +++ b/tests/check/elements/queue.c @@ -53,7 +53,10 @@ static void queue_underrun (GstElement * queue, gpointer user_data) { GST_DEBUG ("queue underrun"); + g_mutex_lock (check_mutex); underrun_count++; + g_cond_signal (check_cond); + g_mutex_unlock (check_mutex); } GstElement * @@ -99,12 +102,13 @@ GST_START_TEST (test_non_leaky_underrun) GST_STATE_PLAYING) == GST_STATE_CHANGE_SUCCESS, "could not set to playing"); - /* do we need to wait here a little */ - usleep (100); - /**/ GST_DEBUG ("running"); + GST_DEBUG ("running"); + g_mutex_lock (check_mutex); + g_cond_wait (check_cond, check_mutex); + g_mutex_unlock (check_mutex); fail_unless (overrun_count == 0); - fail_unless (underrun_count > 0); + fail_unless (underrun_count == 1); fail_unless (buffer == NULL);