Index: libcfa/src/concurrency/io/setup.cfa
===================================================================
--- libcfa/src/concurrency/io/setup.cfa	(revision 58f99b32368ee250f7a933fc52e93fff126b1180)
+++ libcfa/src/concurrency/io/setup.cfa	(revision d48b17474dc22c209d22ea459b81b7e9c2efe260)
@@ -190,4 +190,8 @@
 					__cfaabi_tls.this_stats = io_ctx->self.curr_cluster->stats;
 				#endif
+
+				eventfd_t v;
+				eventfd_read(io_ctx->ring->efd, &v);
+
 				post( io_ctx->sem );
 			}
@@ -494,20 +498,23 @@
 // I/O Context Sleep
 //=============================================================================================
-
-	void __ioctx_register($io_ctx_thread & ctx, struct epoll_event & ev) {
-		ev.events = EPOLLIN | EPOLLET | EPOLLONESHOT;
+	#define IOEVENTS EPOLLIN | EPOLLONESHOT
+
+	static inline void __ioctx_epoll_ctl($io_ctx_thread & ctx, int op, const char * error) {
+		struct epoll_event ev;
+		ev.events = IOEVENTS;
 		ev.data.u64 = (__u64)&ctx;
-		int ret = epoll_ctl(iopoll.epollfd, EPOLL_CTL_ADD, ctx.ring->efd, &ev);
+		int ret = epoll_ctl(iopoll.epollfd, op, ctx.ring->efd, &ev);
 		if (ret < 0) {
-			abort( "KERNEL ERROR: EPOLL ADD - (%d) %s\n", (int)errno, strerror(errno) );
-		}
-	}
-
-	void __ioctx_prepare_block($io_ctx_thread & ctx, struct epoll_event & ev) {
+			abort( "KERNEL ERROR: EPOLL %s - (%d) %s\n", error, (int)errno, strerror(errno) );
+		}
+	}
+
+	void __ioctx_register($io_ctx_thread & ctx) {
+		__ioctx_epoll_ctl(ctx, EPOLL_CTL_ADD, "ADD");
+	}
+
+	void __ioctx_prepare_block($io_ctx_thread & ctx) {
 		__cfadbg_print_safe(io_core, "Kernel I/O - epoll : Re-arming io poller %d (%p)\n", ctx.ring->fd, &ctx);
-		int ret = epoll_ctl(iopoll.epollfd, EPOLL_CTL_MOD, ctx.ring->efd, &ev);
-		if (ret < 0) {
-			abort( "KERNEL ERROR: EPOLL REARM - (%d) %s\n", (int)errno, strerror(errno) );
-		}
+		__ioctx_epoll_ctl(ctx, EPOLL_CTL_MOD, "REARM");
 	}
 
Index: libcfa/src/concurrency/io/types.hfa
===================================================================
--- libcfa/src/concurrency/io/types.hfa	(revision 58f99b32368ee250f7a933fc52e93fff126b1180)
+++ libcfa/src/concurrency/io/types.hfa	(revision d48b17474dc22c209d22ea459b81b7e9c2efe260)
@@ -131,8 +131,7 @@
 	#endif
 
-	struct epoll_event;
 	struct $io_ctx_thread;
-	void __ioctx_register($io_ctx_thread & ctx, struct epoll_event & ev);
-	void __ioctx_prepare_block($io_ctx_thread & ctx, struct epoll_event & ev);
+	void __ioctx_register($io_ctx_thread & ctx);
+	void __ioctx_prepare_block($io_ctx_thread & ctx);
 #endif
 
