Index: src/libcfa/concurrency/kernel.c
===================================================================
--- src/libcfa/concurrency/kernel.c	(revision a83ffa4028911fea2bf6ed4bcb989b611f3c6a1e)
+++ 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);
 }
 
