Index: src/tests/boundedBuffer.c
===================================================================
--- src/tests/boundedBuffer.c	(revision 9f4524bbf1ec917a0b5f4ca8fc294b1225b9c372)
+++ src/tests/boundedBuffer.c	(revision 121ac138e6881955c99490249758e6b7918a1954)
@@ -1,8 +1,8 @@
-// 
+//
 // The contents of this file are covered under the licence agreement in the
 // file "LICENCE" distributed with Cforall.
-// 
-// boundedBuffer.c -- 
-// 
+//
+// boundedBuffer.c --
+//
 // Author           : Peter A. Buhr
 // Created On       : Mon Oct 30 12:45:13 2017
@@ -10,5 +10,5 @@
 // Last Modified On : Mon Oct 30 23:02:46 2017
 // Update Count     : 9
-// 
+//
 
 #include <stdlib>
@@ -31,16 +31,16 @@
 
 void insert( Buffer & mutex buffer, int elem ) {
-	if ( buffer.count == 20 ) wait( &buffer.empty );
+	if ( buffer.count == 20 ) wait( buffer.empty );
 	buffer.elements[buffer.back] = elem;
 	buffer.back = ( buffer.back + 1 ) % 20;
 	buffer.count += 1;
-	signal( &buffer.full );
+	signal( buffer.full );
 }
 int remove( Buffer & mutex buffer ) {
-	if ( buffer.count == 0 ) wait( &buffer.full );
+	if ( buffer.count == 0 ) wait( buffer.full );
 	int elem = buffer.elements[buffer.front];
 	buffer.front = ( buffer.front + 1 ) % 20;
 	buffer.count -= 1;
-	signal( &buffer.empty );
+	signal( buffer.empty );
 	return elem;
 }
Index: src/tests/datingService.c
===================================================================
--- src/tests/datingService.c	(revision 9f4524bbf1ec917a0b5f4ca8fc294b1225b9c372)
+++ src/tests/datingService.c	(revision 121ac138e6881955c99490249758e6b7918a1954)
@@ -1,9 +1,9 @@
-//                               -*- Mode: C -*- 
-// 
+//                               -*- Mode: C -*-
+//
 // The contents of this file are covered under the licence agreement in the
 // file "LICENCE" distributed with Cforall.
-// 
-// datingService.c -- 
-// 
+//
+// datingService.c --
+//
 // Author           : Peter A. Buhr
 // Created On       : Mon Oct 30 12:56:20 2017
@@ -11,5 +11,5 @@
 // Last Modified On : Mon Oct 30 23:02:11 2017
 // Update Count     : 15
-// 
+//
 
 #include <stdlib>										// random
@@ -18,8 +18,4 @@
 #include <thread>
 #include <unistd.h>										// getpid
-
-bool empty( condition & c ) {
-	return c.blocked.head == NULL;
-}
 
 enum { NoOfPairs = 20 };
@@ -31,10 +27,10 @@
 
 unsigned int girl( DatingService & mutex ds, unsigned int PhoneNo, unsigned int ccode ) {
-	if ( empty( ds.Boys[ccode] ) ) {
-		wait( &ds.Girls[ccode] );
+	if ( is_empty( ds.Boys[ccode] ) ) {
+		wait( ds.Girls[ccode] );
 		ds.GirlPhoneNo = PhoneNo;
 	} else {
 		ds.GirlPhoneNo = PhoneNo;
-		signal_block( &ds.Boys[ccode] );
+		signal_block( ds.Boys[ccode] );
 	} // if
 	return ds.BoyPhoneNo;
@@ -42,10 +38,10 @@
 
 unsigned int boy( DatingService & mutex ds, unsigned int PhoneNo, unsigned int ccode ) {
-	if ( empty( ds.Girls[ccode] ) ) {
-		wait( &ds.Boys[ccode] );
+	if ( is_empty( ds.Girls[ccode] ) ) {
+		wait( ds.Boys[ccode] );
 		ds.BoyPhoneNo = PhoneNo;
 	} else {
 		ds.BoyPhoneNo = PhoneNo;
-		signal_block( &ds.Girls[ccode] );
+		signal_block( ds.Girls[ccode] );
 	} // if
 	return ds.GirlPhoneNo;
Index: src/tests/sched-int-barge.c
===================================================================
--- src/tests/sched-int-barge.c	(revision 9f4524bbf1ec917a0b5f4ca8fc294b1225b9c372)
+++ src/tests/sched-int-barge.c	(revision 121ac138e6881955c99490249758e6b7918a1954)
@@ -73,5 +73,5 @@
 	if( action == c.do_wait1 || action == c.do_wait2 ) {
 		c.state = WAIT;
-		wait( &cond );
+		wait( cond );
 
 		if(c.state != SIGNAL) {
@@ -83,6 +83,6 @@
 		c.state = SIGNAL;
 
-		signal( &cond );
-		signal( &cond );
+		signal( cond );
+		signal( cond );
 	}
 	else {
Index: src/tests/sched-int-block.c
===================================================================
--- src/tests/sched-int-block.c	(revision 9f4524bbf1ec917a0b5f4ca8fc294b1225b9c372)
+++ src/tests/sched-int-block.c	(revision 121ac138e6881955c99490249758e6b7918a1954)
@@ -47,5 +47,5 @@
 //------------------------------------------------------------------------------
 void wait_op( global_data_t & mutex a, global_data_t & mutex b, unsigned i ) {
-	wait( &cond, (uintptr_t)this_thread );
+	wait( cond, (uintptr_t)this_thread );
 
 	yield( random( 10 ) );
@@ -74,9 +74,9 @@
 	[a.last_thread, b.last_thread, a.last_signaller, b.last_signaller] = this_thread;
 
-	if( !is_empty( &cond ) ) {
+	if( !is_empty( cond ) ) {
 
-		thread_desc * next = front( &cond );
+		thread_desc * next = front( cond );
 
-		if( ! signal_block( &cond ) ) {
+		if( ! signal_block( cond ) ) {
 			sout | "ERROR expected to be able to signal" | endl;
 			abort();
Index: src/tests/sched-int-disjoint.c
===================================================================
--- src/tests/sched-int-disjoint.c	(revision 9f4524bbf1ec917a0b5f4ca8fc294b1225b9c372)
+++ src/tests/sched-int-disjoint.c	(revision 121ac138e6881955c99490249758e6b7918a1954)
@@ -59,5 +59,5 @@
 // Waiting logic
 bool wait( global_t & mutex m, global_data_t & mutex d ) {
-	wait( &cond );
+	wait( cond );
 	if( d.state != SIGNAL ) {
 		sout | "ERROR barging!" | endl;
@@ -80,5 +80,5 @@
 //------------------------------------------------------------------------------
 // Signalling logic
-void signal( condition * cond, global_t & mutex a, global_data_t & mutex b ) {
+void signal( condition & cond, global_t & mutex a, global_data_t & mutex b ) {
 	b.state = SIGNAL;
 	signal( cond );
@@ -86,5 +86,5 @@
 
 void logic( global_t & mutex a ) {
-	signal( &cond, a, data );
+	signal( cond, a, data );
 
 	yield( random( 10 ) );
Index: src/tests/sched-int-wait.c
===================================================================
--- src/tests/sched-int-wait.c	(revision 9f4524bbf1ec917a0b5f4ca8fc294b1225b9c372)
+++ src/tests/sched-int-wait.c	(revision 121ac138e6881955c99490249758e6b7918a1954)
@@ -41,17 +41,17 @@
 //----------------------------------------------------------------------------------------------------
 // Tools
-void signal( condition * cond, global_t & mutex a, global_t & mutex b ) {
+void signal( condition & cond, global_t & mutex a, global_t & mutex b ) {
 	signal( cond );
 }
 
-void signal( condition * cond, global_t & mutex a, global_t & mutex b, global_t & mutex c ) {
+void signal( condition & cond, global_t & mutex a, global_t & mutex b, global_t & mutex c ) {
 	signal( cond );
 }
 
-void wait( condition * cond, global_t & mutex a, global_t & mutex b ) {
+void wait( condition & cond, global_t & mutex a, global_t & mutex b ) {
 	wait( cond );
 }
 
-void wait( condition * cond, global_t & mutex a, global_t & mutex b, global_t & mutex c ) {
+void wait( condition & cond, global_t & mutex a, global_t & mutex b, global_t & mutex c ) {
 	wait( cond );
 }
@@ -65,14 +65,14 @@
 		switch( action ) {
 			case 0:
-				signal( &condABC, globalA, globalB, globalC );
+				signal( condABC, globalA, globalB, globalC );
 				break;
 			case 1:
-				signal( &condAB , globalA, globalB );
+				signal( condAB , globalA, globalB );
 				break;
 			case 2:
-				signal( &condBC , globalB, globalC );
+				signal( condBC , globalB, globalC );
 				break;
 			case 3:
-				signal( &condAC , globalA, globalC );
+				signal( condAC , globalA, globalC );
 				break;
 			default:
@@ -88,5 +88,5 @@
 void main( WaiterABC & this ) {
 	for( int i = 0; i < N; i++ ) {
-		wait( &condABC, globalA, globalB, globalC );
+		wait( condABC, globalA, globalB, globalC );
 	}
 
@@ -98,5 +98,5 @@
 void main( WaiterAB & this ) {
 	for( int i = 0; i < N; i++ ) {
-		wait( &condAB , globalA, globalB );
+		wait( condAB , globalA, globalB );
 	}
 
@@ -108,5 +108,5 @@
 void main( WaiterAC & this ) {
 	for( int i = 0; i < N; i++ ) {
-		wait( &condAC , globalA, globalC );
+		wait( condAC , globalA, globalC );
 	}
 
@@ -118,5 +118,5 @@
 void main( WaiterBC & this ) {
 	for( int i = 0; i < N; i++ ) {
-		wait( &condBC , globalB, globalC );
+		wait( condBC , globalB, globalC );
 	}
 
Index: src/tests/thread.c
===================================================================
--- src/tests/thread.c	(revision 9f4524bbf1ec917a0b5f4ca8fc294b1225b9c372)
+++ src/tests/thread.c	(revision 121ac138e6881955c99490249758e6b7918a1954)
@@ -15,9 +15,9 @@
 		yield();
 	}
-	V(this.lock);
+	V(*this.lock);
 }
 
 void main(Second& this) {
-	P(this.lock);
+	P(*this.lock);
 	for(int i = 0; i < 10; i++) {
 		sout | "Second : Suspend No." | i + 1 | endl;
