Index: libcfa/src/concurrency/io.cfa
===================================================================
--- libcfa/src/concurrency/io.cfa	(revision ff55092591d126cef5a19c901368bf08ea4e79f7)
+++ libcfa/src/concurrency/io.cfa	(revision dfd341073382ae3db173515cb6f101c3fff8cbdd)
@@ -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();
