Index: libcfa/src/concurrency/invoke.h
===================================================================
--- libcfa/src/concurrency/invoke.h	(revision 7ee81536a3be02d074a5a1148ab8e900de43dbfc)
+++ libcfa/src/concurrency/invoke.h	(revision 4ae78c10a7d9e92dd079b2693e1de5ac44e5f368)
@@ -157,4 +157,8 @@
 
 		// current execution status for coroutine
+		// Possible values are:
+		//    - TICKET_BLOCKED (-1) thread is blocked
+		//    - TICKET_RUNNING ( 0) thread is running
+		//    - TICKET_UNBLOCK ( 1) thread should ignore next block
 		volatile int ticket;
 		enum __Coroutine_State state:8;
Index: libcfa/src/concurrency/io/setup.cfa
===================================================================
--- libcfa/src/concurrency/io/setup.cfa	(revision 7ee81536a3be02d074a5a1148ab8e900de43dbfc)
+++ libcfa/src/concurrency/io/setup.cfa	(revision 4ae78c10a7d9e92dd079b2693e1de5ac44e5f368)
@@ -250,5 +250,5 @@
 					// Fixup the thread state
 					thrd.state = Blocked;
-					thrd.ticket = 0;
+					thrd.ticket = TICKET_BLOCKED;
 					thrd.preempted = __NO_PREEMPTION;
 
Index: libcfa/src/concurrency/kernel.cfa
===================================================================
--- libcfa/src/concurrency/kernel.cfa	(revision 7ee81536a3be02d074a5a1148ab8e900de43dbfc)
+++ libcfa/src/concurrency/kernel.cfa	(revision 4ae78c10a7d9e92dd079b2693e1de5ac44e5f368)
@@ -299,8 +299,8 @@
 		int old_ticket = __atomic_fetch_sub(&thrd_dst->ticket, 1, __ATOMIC_SEQ_CST);
 		switch(old_ticket) {
-			case 1:
+			case TICKET_RUNNING:
 				// This is case 1, the regular case, nothing more is needed
 				break RUNNING;
-			case 2:
+			case TICKET_UNBLOCK:
 				// This is case 2, the racy case, someone tried to run this thread before it finished blocking
 				// In this case, just run it again.
@@ -410,8 +410,8 @@
 	int old_ticket = __atomic_fetch_add(&thrd->ticket, 1, __ATOMIC_SEQ_CST);
 	switch(old_ticket) {
-		case 1:
+		case TICKET_RUNNING:
 			// Wake won the race, the thread will reschedule/rerun itself
 			break;
-		case 0:
+		case TICKET_BLOCKED:
 			/* paranoid */ verify( ! thrd->preempted != __NO_PREEMPTION );
 			/* paranoid */ verify( thrd->state == Blocked );
Index: libcfa/src/concurrency/kernel/startup.cfa
===================================================================
--- libcfa/src/concurrency/kernel/startup.cfa	(revision 7ee81536a3be02d074a5a1148ab8e900de43dbfc)
+++ libcfa/src/concurrency/kernel/startup.cfa	(revision 4ae78c10a7d9e92dd079b2693e1de5ac44e5f368)
@@ -441,5 +441,5 @@
 
 static void ?{}( $thread & this, current_stack_info_t * info) with( this ) {
-	ticket = 1;
+	ticket = TICKET_RUNNING;
 	state = Start;
 	self_cor{ info };
Index: libcfa/src/concurrency/kernel_private.hfa
===================================================================
--- libcfa/src/concurrency/kernel_private.hfa	(revision 7ee81536a3be02d074a5a1148ab8e900de43dbfc)
+++ libcfa/src/concurrency/kernel_private.hfa	(revision 4ae78c10a7d9e92dd079b2693e1de5ac44e5f368)
@@ -65,4 +65,8 @@
 // KERNEL ONLY unpark with out disabling interrupts
 void __unpark( struct __processor_id_t *, $thread * thrd );
+
+#define TICKET_BLOCKED (-1) // thread is blocked
+#define TICKET_RUNNING ( 0) // thread is running
+#define TICKET_UNBLOCK ( 1) // thread should ignore next block
 
 static inline bool __post(single_sem & this, struct __processor_id_t * id) {
Index: libcfa/src/concurrency/thread.cfa
===================================================================
--- libcfa/src/concurrency/thread.cfa	(revision 7ee81536a3be02d074a5a1148ab8e900de43dbfc)
+++ libcfa/src/concurrency/thread.cfa	(revision 4ae78c10a7d9e92dd079b2693e1de5ac44e5f368)
@@ -29,5 +29,5 @@
 	context{ 0p, 0p };
 	self_cor{ name, storage, storageSize };
-	ticket = 1;
+	ticket = TICKET_RUNNING;
 	state = Start;
 	preempted = __NO_PREEMPTION;
