diff --git a/src/unix/async.c b/src/unix/async.c index 0ff2669e..2bb87863 100644 --- a/src/unix/async.c +++ b/src/unix/async.c @@ -35,6 +35,13 @@ #include /* sched_yield() */ #ifdef __linux__ +#define HAVE_EVENT_FD +#endif + +// No eventfd for gramine +#undef HAVE_EVENT_FD + +#ifdef HAVE_EVENT_FD #include #endif @@ -188,7 +195,7 @@ static void uv__async_send(uv_loop_t* loop) { len = 1; fd = loop->async_wfd; -#if defined(__linux__) +#if defined(HAVE_EVENT_FD) if (fd == -1) { static const uint64_t val = 1; buf = &val; @@ -219,7 +226,7 @@ static int uv__async_start(uv_loop_t* loop) { if (loop->async_io_watcher.fd != -1) return 0; -#ifdef __linux__ +#ifdef HAVE_EVENT_FD err = eventfd(0, EFD_CLOEXEC | EFD_NONBLOCK); if (err < 0) return UV__ERR(errno);