Index: libcfa/src/concurrency/barrier.hfa
===================================================================
--- libcfa/src/concurrency/barrier.hfa	(revision e71e94afb7e0016d752678b114b94246be5a4680)
+++ libcfa/src/concurrency/barrier.hfa	(revision a18373a8424aa23e7dff7a54bab1f9aff9f85c55)
@@ -42,8 +42,11 @@
 //      second last thread returns 1
 //      etc.
-static inline unsigned block(barrier & mutex this ) {
+// last is an optional hook that will be called by the last thread
+// before unblocking the others
+static inline unsigned block(barrier & mutex this, fptr_t last = (fptr_t)0 ) {
 	this.count -= 1; // prefix decrement so we the last is 0 and not 1
 	unsigned arrival = this.count; // Note arrival order
 	if(arrival == 0) {
+		if(last) last();
 		// If arrived last unblock everyone and reset
 		signal_all(this.c);
