Index: test/mm/slab2/test.c
===================================================================
--- test/mm/slab2/test.c	(revision 874878ab8f4787b913b24462b16f625fbc977008)
+++ test/mm/slab2/test.c	(revision 2a46e10bda4f9665e1b831254e35ea3e01b97563)
@@ -35,4 +35,6 @@
 #include <mm/frame.h>
 #include <memstr.h>
+#include <synch/condvar.h>
+#include <synch/mutex.h>
 
 #define ITEM_SIZE 256
@@ -116,4 +118,6 @@
 slab_cache_t *thr_cache;
 semaphore_t thr_sem;
+condvar_t thread_starter;
+mutex_t starter_mutex;
 
 #define THREADS 8
@@ -123,4 +127,8 @@
 	void *data=NULL, *new;
 
+	mutex_lock(&starter_mutex);
+	condvar_wait(&thread_starter,&starter_mutex);
+	mutex_unlock(&starter_mutex);
+		
 	printf("Starting thread #%d...\n",THREAD->tid);
 
@@ -173,4 +181,7 @@
 
 	printf("Running stress test with size %d\n", size);
+	condvar_initialize(&thread_starter);
+	mutex_initialize(&starter_mutex);
+
 	thr_cache = slab_cache_create("thread_cache", size, 0, 
 				      NULL, NULL, 
@@ -182,4 +193,6 @@
 		thread_ready(t);
 	}
+	thread_sleep(1);
+	condvar_broadcast(&thread_starter);
 
 	for (i=0; i<THREADS; i++)
