Index: libcfa/src/bits/containers.hfa
===================================================================
--- libcfa/src/bits/containers.hfa	(revision ae663481b425267fa525cf57f1c7d142873a3514)
+++ libcfa/src/bits/containers.hfa	(revision 216603a3fe48c6032755300fc35ea40386f0bdfa)
@@ -274,4 +274,9 @@
 			return this.head != 0;
 		}
+
+		void move_to_front( __dllist(T) & src, __dllist(T) & dst, T & node ) {
+			remove    (src, node);
+			push_front(dst, node);
+		}
 	}
 	#undef next
Index: libcfa/src/bits/locks.hfa
===================================================================
--- libcfa/src/bits/locks.hfa	(revision ae663481b425267fa525cf57f1c7d142873a3514)
+++ libcfa/src/bits/locks.hfa	(revision 216603a3fe48c6032755300fc35ea40386f0bdfa)
@@ -139,7 +139,5 @@
 	}
 
-	static inline void post(__bin_sem_t & this) with( this ) {
-		verify(__cfaabi_dbg_in_kernel());
-
+	static inline bool post(__bin_sem_t & this) with( this ) {
 		pthread_mutex_lock(&lock);
 			bool needs_signal = !signaled;
@@ -147,6 +145,7 @@
 		pthread_mutex_unlock(&lock);
 
-		if (needs_signal)
-			pthread_cond_signal(&cond);
+		if (needs_signal) pthread_cond_signal(&cond);
+
+		return needs_signal;
 	}
 #endif
