Index: test/synch/rwlock5/test.c
===================================================================
--- test/synch/rwlock5/test.c	(revision 80d2bdbb59aff7f143abc484128e57a0c2b47e47)
+++ test/synch/rwlock5/test.c	(revision 031e26427bf76c26ff85a0d574c174809efaae1c)
@@ -86,6 +86,6 @@
 		thread_t *thrd;
 
-		items_read = 0;
-		items_written = 0;
+		atomic_set(&items_read, 0);
+		atomic_set(&items_written, 0);
 
 		readers = i*READERS;
@@ -116,6 +116,6 @@
 		waitq_wakeup(&can_start, WAKEUP_ALL);
 	
-		while (items_read != readers || items_written != writers) {
-			printf("%d readers remaining, %d writers remaining, readers_in=%d\n", readers - items_read, writers - items_written, rwlock.readers_in);
+		while (items_read.count != readers || items_written.count != writers) {
+			printf("%d readers remaining, %d writers remaining, readers_in=%d\n", readers - items_read.count, writers - items_written.count, rwlock.readers_in);
 			thread_usleep(100000);
 		}
Index: test/synch/semaphore1/test.c
===================================================================
--- test/synch/semaphore1/test.c	(revision 80d2bdbb59aff7f143abc484128e57a0c2b47e47)
+++ test/synch/semaphore1/test.c	(revision 031e26427bf76c26ff85a0d574c174809efaae1c)
@@ -90,6 +90,6 @@
 		thread_t *thrd;
 
-		items_produced = 0;
-		items_consumed = 0;
+		atomic_set(&items_produced, 0);
+		atomic_set(&items_consumed, 0);
 		
 		consumers = i * CONSUMERS;
@@ -120,6 +120,6 @@
 		waitq_wakeup(&can_start, WAKEUP_ALL);
 	
-		while (items_consumed != consumers || items_produced != producers) {
-			printf("%d consumers remaining, %d producers remaining\n", consumers - items_consumed, producers - items_produced);
+		while (items_consumed.count != consumers || items_produced.count != producers) {
+			printf("%d consumers remaining, %d producers remaining\n", consumers - items_consumed.count, producers - items_produced.count);
 			thread_sleep(1);
 		}
