Index: Jenkins/FullBuild
===================================================================
--- Jenkins/FullBuild	(revision 657c36f3c9f3d2305e3794bd51879f2c4e32ed1a)
+++ Jenkins/FullBuild	(revision bf1914ebf83b7339b0c3ced4f46a69e3a05008bf)
@@ -32,5 +32,5 @@
 
 			stage('Package') {
-				build job: 'Cforall_Distribute_Ref', parameters: [string(name: 'GitRef', value: commitId), string(name: 'Build', value: currentBuild.number.toString())]
+				trigger_dist( commitId, currentBuild.number.toString() )
 			}
 		}
@@ -103,4 +103,19 @@
 }
 
+def trigger_dist(String commitId, String build) {
+	def result = build job: 'Cforall_Distribute_Ref',	\
+		parameters: [						\
+			string(name: 'GitRef', value: commitId),	\
+			string(name: 'Build' , value: build)	\
+		]
+
+	echo(result.result)
+
+	if(result.result != 'SUCCESS') {
+		sh("wget -q -O - https://cforall.uwaterloo.ca/jenkins/job/Cforall_Distribute_Ref/${result.number}/consoleText")
+		error(result.result)
+	}
+}
+
 //===========================================================================================================
 //Routine responsible of sending the email notification once the build is completed
Index: benchmark/readyQ/locality.cfa
===================================================================
--- benchmark/readyQ/locality.cfa	(revision 657c36f3c9f3d2305e3794bd51879f2c4e32ed1a)
+++ benchmark/readyQ/locality.cfa	(revision bf1914ebf83b7339b0c3ced4f46a69e3a05008bf)
@@ -63,5 +63,5 @@
 }
 
-void access(MyData & this, size_t idx) {
+__attribute__((noinline)) void access(MyData & this, size_t idx) {
 	size_t l = this.len;
 	this.data[idx % l] += 1;
@@ -126,5 +126,5 @@
 // ==================================================
 // Do some work by accessing 'cnt' cells in the array
-void work(MyData & data, size_t cnt, uint64_t & state) {
+__attribute__((noinline)) void work(MyData & data, size_t cnt, uint64_t & state) {
 	for (cnt) {
 		access(data, __xorshift64(state));
@@ -166,4 +166,5 @@
 
 void ?{}( MyThread & this, MyData * data, MySpot ** spots, size_t spot_len, size_t cnt, bool share, size_t id) {
+	((thread&)this){ bench_cluster };
 	this.data = data;
 	this.spots.ptr = spots;
@@ -196,18 +197,18 @@
 	unsigned long long global_dmigs = 0;
 
-	MyData * data_arrays[nthreads];
-	for(i; nthreads) {
-		data_arrays[i] = malloc();
-		(*data_arrays[i]){ i, wsize };
-	}
-
-	MySpot * spots[nthreads - nprocs];
-	for(i; nthreads - nprocs) {
-		spots[i] = malloc();
-		(*spots[i]){ i };
-	}
-
 	Time start, end;
 	{
+		MyData * data_arrays[nthreads];
+		for(i; nthreads) {
+			data_arrays[i] = malloc();
+			(*data_arrays[i]){ i, wsize };
+		}
+
+		MySpot * spots[nthreads - nprocs];
+		for(i; nthreads - nprocs) {
+			spots[i] = malloc();
+			(*spots[i]){ i };
+		}
+
 		BenchCluster bc = { nprocs };
 		threads_left = nprocs;
@@ -250,11 +251,19 @@
 			}
 		}
-	}
-
-	printf("Duration (ms)          : %'ld\n", (end - start)`dms);
+
+		for(i; nthreads) {
+			delete( data_arrays[i] );
+		}
+
+		for(i; nthreads - nprocs) {
+			delete( spots[i] );
+		}
+	}
+
+	printf("Duration (ms)          : %'lf\n", (end - start)`dms);
 	printf("Number of processors   : %'d\n", nprocs);
 	printf("Number of threads      : %'d\n", nthreads);
 	printf("Total Operations(ops)  : %'15llu\n", global_count);
-	printf("Work size (64bit words): %'15llu\n", wsize);
+	printf("Work size (64bit words): %'15u\n", wsize);
 	printf("Total Operations(ops)  : %'15llu\n", global_count);
 	printf("Total G Migrations     : %'15llu\n", global_gmigs);
Index: benchmark/readyQ/locality.go
===================================================================
--- benchmark/readyQ/locality.go	(revision 657c36f3c9f3d2305e3794bd51879f2c4e32ed1a)
+++ benchmark/readyQ/locality.go	(revision bf1914ebf83b7339b0c3ced4f46a69e3a05008bf)
@@ -282,5 +282,5 @@
 	// Print with nice 's, i.e. 1'000'000 instead of 1000000
 	p := message.NewPrinter(language.English)
-	p.Printf("Duration (ms)          : %f\n", delta.Seconds());
+	p.Printf("Duration (s)           : %f\n", delta.Seconds());
 	p.Printf("Number of processors   : %d\n", nprocs);
 	p.Printf("Number of threads      : %d\n", nthreads);
Index: benchmark/readyQ/rq_bench.hfa
===================================================================
--- benchmark/readyQ/rq_bench.hfa	(revision 657c36f3c9f3d2305e3794bd51879f2c4e32ed1a)
+++ benchmark/readyQ/rq_bench.hfa	(revision bf1914ebf83b7339b0c3ced4f46a69e3a05008bf)
@@ -39,5 +39,5 @@
 		} else if(stop_count > 0) { \
 			clock_mode = false; \
-			printf("Running for %lu iterations\n", stop_count); \
+			printf("Running for %llu iterations\n", stop_count); \
 		} else { \
 			duration = 5; clock_mode = true;\
Index: libcfa/src/parseargs.cfa
===================================================================
--- libcfa/src/parseargs.cfa	(revision 657c36f3c9f3d2305e3794bd51879f2c4e32ed1a)
+++ libcfa/src/parseargs.cfa	(revision bf1914ebf83b7339b0c3ced4f46a69e3a05008bf)
@@ -105,4 +105,5 @@
 					if(opt == options[i].short_name) {
 						const char * arg = optarg ? optarg : "";
+						if( arg[0] == '=' ) { arg++; }
 						bool success = options[i].parse( arg, options[i].variable );
 						if(success) continue NEXT_ARG;
