Index: libcfa/src/bits/signal.hfa
===================================================================
--- libcfa/src/bits/signal.hfa	(revision 44aad8f4ae26b1fe3eef138bd44cc12610ad6e9a)
+++ libcfa/src/bits/signal.hfa	(revision c59a34600a910c39a26acef7ab377d43d56daa06)
@@ -54,5 +54,5 @@
 			sig, handler, flags, errno, strerror( errno )
 		);
-		_exit( EXIT_FAILURE );
+		_Exit( EXIT_FAILURE );
 	} // if
 }
Index: libcfa/src/concurrency/io.cfa
===================================================================
--- libcfa/src/concurrency/io.cfa	(revision 44aad8f4ae26b1fe3eef138bd44cc12610ad6e9a)
+++ libcfa/src/concurrency/io.cfa	(revision c59a34600a910c39a26acef7ab377d43d56daa06)
@@ -75,5 +75,4 @@
        #endif
 
-
 //=============================================================================================
 // I/O Startup / Shutdown logic
@@ -150,4 +149,5 @@
 		sq.array   = (         uint32_t *)(((intptr_t)sq.ring_ptr) + params.sq_off.array);
 		sq.alloc = *sq.tail;
+		sq.ready = *sq.tail;
 
 		// completion queue
@@ -190,4 +190,5 @@
 	void __kernel_io_shutdown( cluster & this ) {
 		// Stop the IO Poller
+		#if __CFA_IO_POLLING__ == __CFA_IO_POLLING_NAIVE__
 		// Notify the poller thread of the shutdown
 		__atomic_store_n(&this.io.done, true, __ATOMIC_SEQ_CST);
@@ -245,5 +246,5 @@
 	// Process a single completion message from the io_uring
 	// This is NOT thread-safe
-	int __drain_io( struct io_ring & ring, sigset_t & mask, int waitcnt ) {
+	static int __drain_io( struct io_ring & ring, sigset_t & mask, int waitcnt ) {
 		int ret = syscall( __NR_io_uring_enter, ring.fd, 0, waitcnt, IORING_ENTER_GETEVENTS, &mask, _NSIG / 8);
 		if( ret < 0 ) {
Index: libcfa/src/concurrency/preemption.cfa
===================================================================
--- libcfa/src/concurrency/preemption.cfa	(revision 44aad8f4ae26b1fe3eef138bd44cc12610ad6e9a)
+++ libcfa/src/concurrency/preemption.cfa	(revision c59a34600a910c39a26acef7ab377d43d56daa06)
@@ -43,4 +43,5 @@
 // FwdDeclarations : Signal handlers
 static void sigHandler_ctxSwitch( __CFA_SIGPARMS__ );
+static void sigHandler_alarm    ( __CFA_SIGPARMS__ );
 static void sigHandler_segv     ( __CFA_SIGPARMS__ );
 static void sigHandler_ill      ( __CFA_SIGPARMS__ );
@@ -256,5 +257,5 @@
 
 	if ( pthread_sigmask( SIG_BLOCK, &mask, 0p ) == -1 ) {
-	    abort( "internal error, pthread_sigmask" );
+		abort( "internal error, pthread_sigmask" );
 	}
 }
@@ -303,4 +304,5 @@
 	// Setup proper signal handlers
 	__cfaabi_sigaction( SIGUSR1, sigHandler_ctxSwitch, SA_SIGINFO | SA_RESTART ); // __cfactx_switch handler
+	__cfaabi_sigaction( SIGALRM, sigHandler_alarm    , SA_SIGINFO | SA_RESTART ); // debug handler
 
 	signal_block( SIGALRM );
@@ -394,4 +396,8 @@
 
 	force_yield( __ALARM_PREEMPTION ); // Do the actual __cfactx_switch
+}
+
+static void sigHandler_alarm( __CFA_SIGPARMS__ ) {
+	abort("SIGALRM should never reach the signal handler");
 }
 
