diff --git a/include/villas/queue_signalled.h b/include/villas/queue_signalled.h
index 2d2a44fb3..9ad916b82 100644
--- a/include/villas/queue_signalled.h
+++ b/include/villas/queue_signalled.h
@@ -36,7 +36,7 @@ enum queue_signalled_flags {
QUEUE_SIGNALLED_AUTO = (0 << 0), /**< We will choose the best method available on the platform */
QUEUE_SIGNALLED_PTHREAD = (1 << 0),
QUEUE_SIGNALLED_POLLING = (2 << 0),
-#ifdef __linux__
+#ifdef HAS_EVENTFD
QUEUE_SIGNALLED_EVENTFD = (3 << 0),
#elif defined(__APPLE__)
QUEUE_SIGNALLED_PIPE = (3 << 0),
diff --git a/lib/queue_signalled.c b/lib/queue_signalled.c
index a37caa316..dc6d6f9f6 100644
--- a/lib/queue_signalled.c
+++ b/lib/queue_signalled.c
@@ -21,10 +21,11 @@
* along with this program. If not, see .
*********************************************************************************/
+#include
#include
#include
-#ifdef __linux__
+#ifdef HAS_EVENTFD
#include
#endif
@@ -83,7 +84,7 @@ int queue_signalled_init(struct queue_signalled *qs, size_t size, struct memtype
else if (qs->mode == QUEUE_SIGNALLED_POLLING) {
/* Nothing todo */
}
-#ifdef __linux__
+#ifdef HAS_EVENTFD
else if (qs->mode == QUEUE_SIGNALLED_EVENTFD) {
qs->eventfd = eventfd(0, 0);
if (qs->eventfd < 0)
@@ -117,7 +118,7 @@ int queue_signalled_destroy(struct queue_signalled *qs)
else if (qs->mode == QUEUE_SIGNALLED_POLLING) {
/* Nothing todo */
}
-#ifdef __linux__
+#ifdef HAS_EVENTFD
else if (qs->mode == QUEUE_SIGNALLED_EVENTFD) {
ret = close(qs->eventfd);
if (ret)
@@ -152,7 +153,7 @@ int queue_signalled_push(struct queue_signalled *qs, void *ptr)
else if (qs->mode == QUEUE_SIGNALLED_POLLING) {
/* Nothing todo */
}
-#ifdef __linux__
+#ifdef HAS_EVENTFD
else if (qs->mode == QUEUE_SIGNALLED_EVENTFD) {
int ret;
uint64_t incr = 1;
@@ -191,7 +192,7 @@ int queue_signalled_push_many(struct queue_signalled *qs, void *ptr[], size_t cn
else if (qs->mode == QUEUE_SIGNALLED_POLLING) {
/* Nothing todo */
}
-#ifdef __linux__
+#ifdef HAS_EVENTFD
else if (qs->mode == QUEUE_SIGNALLED_EVENTFD) {
int ret;
uint64_t incr = 1;
@@ -233,7 +234,7 @@ int queue_signalled_pull(struct queue_signalled *qs, void **ptr)
pthread_cond_wait(&qs->pthread.ready, &qs->pthread.mutex);
else if (qs->mode == QUEUE_SIGNALLED_POLLING)
continue; /* Try again */
-#ifdef __linux__
+#ifdef HAS_EVENTFD
else if (qs->mode == QUEUE_SIGNALLED_EVENTFD) {
int ret;
uint64_t cntr;
@@ -282,7 +283,7 @@ int queue_signalled_pull_many(struct queue_signalled *qs, void *ptr[], size_t cn
pthread_cond_wait(&qs->pthread.ready, &qs->pthread.mutex);
else if (qs->mode == QUEUE_SIGNALLED_POLLING)
continue; /* Try again */
-#ifdef __linux__
+#ifdef HAS_EVENTFD
else if (qs->mode == QUEUE_SIGNALLED_EVENTFD) {
int ret;
uint64_t cntr;
@@ -328,7 +329,7 @@ int queue_signalled_close(struct queue_signalled *qs)
else if (qs->mode == QUEUE_SIGNALLED_POLLING) {
/* Nothing todo */
}
-#ifdef __linux__
+#ifdef HAS_EVENTFD
else if (qs->mode == QUEUE_SIGNALLED_EVENTFD) {
int ret;
uint64_t incr = 1;
@@ -356,7 +357,7 @@ int queue_signalled_close(struct queue_signalled *qs)
int queue_signalled_fd(struct queue_signalled *qs)
{
switch (qs->mode) {
-#ifdef __linux__
+#ifdef HAS_EVENTFD
case QUEUE_SIGNALLED_EVENTFD:
return qs->eventfd;
#elif defined(__APPLE__)