Index: libcfa/src/concurrency/io.cfa
===================================================================
--- libcfa/src/concurrency/io.cfa	(revision 72ba5082b1d3f5354d46325f3700f8e2206bc757)
+++ libcfa/src/concurrency/io.cfa	(revision 010636f76b3c72e86e3e4b35ab6eeb3b528130e7)
@@ -635,5 +635,8 @@
 
 			// We can proceed to the fast path
-			if( !__alloc(ctx, &idx, 1) ) return false;
+			if( !__alloc(ctx, &idx, 1) ) {
+				/* paranoid */ verify( false ); // for now check if this happens, next time just abort the sleep.
+				return false;
+			}
 
 			// Allocation was successful
@@ -665,5 +668,5 @@
 
 			/* paranoid */ verify( sqe->user_data == (uintptr_t)&future );
-			__submit( ctx, &idx, 1, true );
+			__submit_only( ctx, &idx, 1 );
 
 			/* paranoid */ verify( proc == __cfaabi_tls.this_processor );
@@ -690,6 +693,8 @@
 			}
 
-			__ioarbiter_flush( *proc->io.ctx );
-			ioring_syscsll( *proc->io.ctx, 1, IORING_ENTER_GETEVENTS);
+			if( !__atomic_load_n( &proc->do_terminate, __ATOMIC_SEQ_CST ) ) {
+				__ioarbiter_flush( *proc->io.ctx );
+				ioring_syscsll( *proc->io.ctx, 1, IORING_ENTER_GETEVENTS);
+			}
 
 			ready_schedule_lock();
