Index: src/libcfa/bits/containers.h
===================================================================
--- src/libcfa/bits/containers.h	(revision cac8a6e84337137e8c5c1110acd046d6651782ec)
+++ src/libcfa/bits/containers.h	(revision 639991aa7d6f4c4ee71eeb5078b858be58b7fa2c)
@@ -220,21 +220,21 @@
 	}
 
-	#define _next .0
-	#define _prev .1
+	#define next 0
+	#define prev 1
 	forall(dtype T | sized(T))
 	static inline void push_front( __dllist(T) & this, T & node ) with( this ) {
 		if ( head ) {
-			__get( node )_next = head;
-			__get( node )_prev = __get( *head )_prev;
+			__get( node ).next = head;
+			__get( node ).prev = __get( *head ).prev;
 			// inserted node must be consistent before it is seen
 			// prevent code movement across barrier
 			asm( "" : : : "memory" );
-			__get( *head )_prev = &node;
-			T & prev = *__get( node )_prev;
-			__get( prev )_next = &node;
+			__get( *head ).prev = &node;
+			T & _prev = *__get( node ).prev;
+			__get( _prev ).next = &node;
 		}
 		else {
-			__get( node )_next = &node;
-			__get( node )_prev = &node;
+			__get( node ).next = &node;
+			__get( node ).prev = &node;
 		}
 
@@ -247,18 +247,18 @@
 	static inline void remove( __dllist(T) & this, T & node ) with( this ) {
 		if ( &node == head ) {
-			if ( __get( *head )_next == head ) {
+			if ( __get( *head ).next == head ) {
 				head = NULL;
 			}
 			else {
-				head = __get( *head )_next;
+				head = __get( *head ).next;
 			}
 		}
-		__get( *__get( node )_next )_prev = __get( node )_prev;
-		__get( *__get( node )_prev )_next = __get( node )_next;
-		__get( node )_next = NULL;
-		__get( node )_prev = NULL;
-	}
-	#undef _next
-	#undef _prev
+		__get( *__get( node ).next ).prev = __get( node ).prev;
+		__get( *__get( node ).prev ).next = __get( node ).next;
+		__get( node ).next = NULL;
+		__get( node ).prev = NULL;
+	}
+	#undef next
+	#undef prev
 #endif
 
Index: src/libcfa/concurrency/kernel.c
===================================================================
--- src/libcfa/concurrency/kernel.c	(revision cac8a6e84337137e8c5c1110acd046d6651782ec)
+++ src/libcfa/concurrency/kernel.c	(revision 639991aa7d6f4c4ee71eeb5078b858be58b7fa2c)
@@ -54,9 +54,4 @@
 //-----------------------------------------------------------------------------
 // Global state
-
-// volatile thread_local bool preemption_in_progress = 0;
-// volatile thread_local bool preemption_enabled = false;
-// volatile thread_local unsigned short disable_preempt_count = 1;
-
 thread_local struct KernelThreadData kernelTLS = {
 	NULL,
@@ -697,4 +692,5 @@
 	else {
 		int len = snprintf( abort_text, abort_text_size, "Error occurred outside of any thread.\n" );
+		__cfaabi_dbg_bits_write( abort_text, len );
 	}
 }
@@ -761,38 +757,38 @@
 // Global Queues
 void doregister( thread_desc & thrd ) {
-	// lock      ( global_thread.lock );
-	// push_front( global_thread.list, thrd );
-	// unlock    ( global_thread.lock );
+	lock      ( global_threads.lock __cfaabi_dbg_ctx2);
+	push_front( global_threads.list, thrd );
+	unlock    ( global_threads.lock );
 }
 
 void unregister( thread_desc & thrd ) {
-	// lock  ( global_thread.lock );
-	// remove( global_thread.list, thrd );
-	// unlock( global_thread.lock );
+	lock  ( global_threads.lock __cfaabi_dbg_ctx2);
+	remove( global_threads.list, thrd );
+	unlock( global_threads.lock );
 }
 
 void doregister( cluster     & cltr ) {
-	// lock      ( global_cluster.lock );
-	// push_front( global_cluster.list, cltr );
-	// unlock    ( global_cluster.lock );
+	lock      ( global_clusters.lock __cfaabi_dbg_ctx2);
+	push_front( global_clusters.list, cltr );
+	unlock    ( global_clusters.lock );
 }
 
 void unregister( cluster     & cltr ) {
-	// lock  ( global_cluster.lock );
-	// remove( global_cluster.list, cltr );
-	// unlock( global_cluster.lock );
+	lock  ( global_clusters.lock __cfaabi_dbg_ctx2);
+	remove( global_clusters.list, cltr );
+	unlock( global_clusters.lock );
 }
 
 
 void doregister( cluster * cltr, processor * proc ) {
-	// lock      (cltr->proc_list_lock __cfaabi_dbg_ctx2);
-	// push_front(cltr->procs, *proc);
-	// unlock    (cltr->proc_list_lock);
+	lock      (cltr->proc_list_lock __cfaabi_dbg_ctx2);
+	push_front(cltr->procs, *proc);
+	unlock    (cltr->proc_list_lock);
 }
 
 void unregister( cluster * cltr, processor * proc ) {
-	// lock  (cltr->proc_list_lock __cfaabi_dbg_ctx2);
-	// remove(cltr->procs, *proc );
-	// unlock(cltr->proc_list_lock);
+	lock  (cltr->proc_list_lock __cfaabi_dbg_ctx2);
+	remove(cltr->procs, *proc );
+	unlock(cltr->proc_list_lock);
 }
 
