Index: libcfa/src/bits/weakso_locks.cfa
===================================================================
--- libcfa/src/bits/weakso_locks.cfa	(revision b93bf851cd2f4c65993fbbd554e9a71949aa906d)
+++ libcfa/src/bits/weakso_locks.cfa	(revision bbecdd4e92ef5af54bd26d222e3783bf68890eaf)
@@ -30,4 +30,4 @@
 bool register_select( blocking_lock & this, select_node & node ) { return false; }
 bool unregister_select( blocking_lock & this, select_node & node ) { return false; }
-void on_selected( blocking_lock & this, select_node & node ) {}
+bool on_selected( blocking_lock & this, select_node & node ) { return true; }
 
Index: libcfa/src/bits/weakso_locks.hfa
===================================================================
--- libcfa/src/bits/weakso_locks.hfa	(revision b93bf851cd2f4c65993fbbd554e9a71949aa906d)
+++ libcfa/src/bits/weakso_locks.hfa	(revision bbecdd4e92ef5af54bd26d222e3783bf68890eaf)
@@ -62,5 +62,5 @@
 bool register_select( blocking_lock & this, select_node & node ) OPTIONAL_THREAD;
 bool unregister_select( blocking_lock & this, select_node & node ) OPTIONAL_THREAD;
-void on_selected( blocking_lock & this, select_node & node ) OPTIONAL_THREAD;
+bool on_selected( blocking_lock & this, select_node & node ) OPTIONAL_THREAD;
 
 //----------
@@ -80,3 +80,3 @@
 static inline bool   register_select( multiple_acquisition_lock & this, select_node & node ) { return register_select( (blocking_lock &)this, node ); }
 static inline bool   unregister_select( multiple_acquisition_lock & this, select_node & node ) { return unregister_select( (blocking_lock &)this, node ); }
-static inline void   on_selected( multiple_acquisition_lock & this, select_node & node ) { on_selected( (blocking_lock &)this, node ); }
+static inline bool   on_selected( multiple_acquisition_lock & this, select_node & node ) { return on_selected( (blocking_lock &)this, node ); }
