I tried, and the new problem is now: pool = g_thread_pool_new( my_calc, (gpointer) &common, 8, FALSE, &err ); for (i = 0; i < n_tot; i++ ) g_thread_pool_push( pool, &store[i], &err ); g_thread_pool_free( pool, FALSE, TRUE ); When I run this code, it continues without waiting for the threads to complete. I expected that the g_thread_pool_free function would make it wait for all threads to complete before the program code continues, however it does not! How can I make it wait? (Yes, I added a static mutex in my_func. I'm convinced that I need it. ) -Øystein _______________________________________________ gtk-list mailing list gtk-list@xxxxxxxxx http://mail.gnome.org/mailman/listinfo/gtk-list