Index: tests/concurrent/.expect/sleep.txt
===================================================================
--- tests/concurrent/.expect/sleep.txt	(revision 090a7c53db0d6d3e6332f455573fe3ab0c9f4336)
+++ tests/concurrent/.expect/sleep.txt	(revision 6da81c7ca2f43e2698f1a0886ad3e350cba32a2e)
@@ -1,26 +1,2 @@
 start
-fast loop 0.047
-fast loop 0.094
-fast loop 0.141
-fast loop 0.188
-fast loop 0.235
-slow loop 0.277
-fast loop 0.282
-fast loop 0.329
-fast loop 0.376
-fast loop 0.423
-fast loop 0.47
-fast loop 0.517
-slow loop 0.554
-fast loop 0.564
-fast loop 0.611
-fast loop 0.658
-fast loop 0.705
-fast loop 0.752
-fast loop 0.799
-slow loop 0.831
-fast loop 0.846
-fast loop 0.893
-fast loop 0.94
-slow loop 1.108
 done
Index: tests/concurrent/sleep.cfa
===================================================================
--- tests/concurrent/sleep.cfa	(revision 090a7c53db0d6d3e6332f455573fe3ab0c9f4336)
+++ tests/concurrent/sleep.cfa	(revision 6da81c7ca2f43e2698f1a0886ad3e350cba32a2e)
@@ -7,4 +7,6 @@
 }
 
+volatile int counter = 0;
+
 thread fast_sleeper {};
 void main(fast_sleeper &) {
@@ -12,5 +14,5 @@
 	for(i; 20) {
 		sleep(wait);
-		sout | acquire | "fast loop" | ((1 + i) * wait);
+		__atomic_fetch_add( &counter, 1, __ATOMIC_RELAXED );
 	}
 }
@@ -20,7 +22,7 @@
 	Duration wait = 277`ms;
 	for(i; 4) {
-
 		sleep(wait);
-		sout | acquire | "slow loop" | ((1 + i) * wait);
+		int val = __atomic_add_fetch( &counter, -5, __ATOMIC_RELAXED );
+		if(val < -9) abort | "Value reached negative value:" | val;
 	}
 }
