diff --git a/CMakeLists.txt b/CMakeLists.txt index 8ef6b93b3..38fb5a09b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -865,6 +865,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 9690a4807..16c68dcf5 100644 --- a/cmake/lws_config.h.in +++ b/cmake/lws_config.h.in @@ -100,6 +100,7 @@ #cmakedefine LWS_WITH_DEPRECATED_LWS_DLL #cmakedefine LWS_WITH_DIR #cmakedefine LWS_WITH_ESP32 +#cmakedefine LWS_HAVE_EVBACKEND_LINUXAIO #cmakedefine LWS_WITH_EXTERNAL_POLL #cmakedefine LWS_WITH_FTS #cmakedefine LWS_WITH_GENCRYPTO diff --git a/lib/event-libs/libev/libev.c b/lib/event-libs/libev/libev.c index c2449550f..3e4e90abc 100644 --- a/lib/event-libs/libev/libev.c +++ b/lib/event-libs/libev/libev.c @@ -175,6 +175,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;