wait longer in threadpool test case
authorRyan Lortie <desrt@desrt.ca>
Wed, 20 Jul 2011 08:49:48 +0000 (10:49 +0200)
committerRyan Lortie <desrt@desrt.ca>
Wed, 20 Jul 2011 08:51:16 +0000 (10:51 +0200)
If we are going to fail an assert, wait for a bit longer before doing so
(up to 5 seconds, if needed).

This is a long-standing Debian patch to fix build failures on really
slow machines.

tests/threadpool-test.c

index db15b368a791ebb1f752daa04cf8dbdd317f6d38..4d011ff3f3206c2c9bdf13fd28b617c35457f1e8 100644 (file)
@@ -124,10 +124,17 @@ test_thread_stop_unused (void)
    DEBUG_MSG (("[unused] stopping unused threads"));
    g_thread_pool_stop_unused_threads ();
 
-   DEBUG_MSG (("[unused] waiting ONE second for threads to die"));
+   for (i = 0; i < 5; i++)
+     {
+       if (g_thread_pool_get_num_unused_threads () == 0 &&
+           test_count_threads () == 0)
+         break;
 
-   /* Some time for threads to die. */
-   g_usleep (G_USEC_PER_SEC);
+       DEBUG_MSG (("[unused] waiting ONE second for threads to die"));
+
+       /* Some time for threads to die. */
+       g_usleep (G_USEC_PER_SEC);
+     }
 
    DEBUG_MSG (("[unused] stopped idle threads, %d remain, %d threads still exist",
               g_thread_pool_get_num_unused_threads (),