diff --git a/CMakeLists.txt b/CMakeLists.txt index 3ca63611b..d4e36fd45 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -929,6 +929,13 @@ CHECK_INCLUDE_FILE(uv-version.h LWS_HAVE_UV_VERSION_H) endif() endif() +if (LWS_WITH_LIBEV) + CHECK_C_SOURCE_COMPILES( + "#include + int main(int argc, char **argv) { return EVBACKEND_LINUXAIO; } + " LWS_HAVE_EVBACKEND_LINUXAIO) +endif() + if (LWS_WITH_ZLIB AND NOT LWS_WITH_BUNDLED_ZLIB) if (LWS_WITH_MINIZ) diff --git a/cmake/lws_config.h.in b/cmake/lws_config.h.in index d284cd801..c3d5b6988 100644 --- a/cmake/lws_config.h.in +++ b/cmake/lws_config.h.in @@ -105,6 +105,7 @@ #cmakedefine LWS_WITH_DETAILED_LATENCY #cmakedefine LWS_WITH_DIR #cmakedefine LWS_WITH_ESP32 +#cmakedefine LWS_HAVE_EVBACKEND_LINUXAIO #cmakedefine LWS_WITH_EXTERNAL_POLL #cmakedefine LWS_WITH_FILE_OPS #cmakedefine LWS_WITH_FTS diff --git a/lib/event-libs/libev/libev.c b/lib/event-libs/libev/libev.c index 77e410587..b22746a5b 100644 --- a/lib/event-libs/libev/libev.c +++ b/lib/event-libs/libev/libev.c @@ -183,6 +183,11 @@ elops_init_pt_ev(struct lws_context *context, void *_loop, int tsi) case EVBACKEND_EPOLL: backend_name = "epoll"; break; +#if defined(LWS_HAVE_EVBACKEND_LINUXAIO) + case EVBACKEND_LINUXAIO: + backend_name = "Linux AIO"; + break; +#endif case EVBACKEND_KQUEUE: backend_name = "kqueue"; break;