From a1451bbb575eb7aee7d6a91dab562e9fc5dff47f Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Thu, 8 Jun 2023 21:04:19 -0700 Subject: [PATCH] QEventDispatcherUNIX: convert "eventfd" feature to proper QT_CONFIG And mark it private. [ChangeLog][QtCore] Qt no longer sets the QT_NO_EVENTFD feature macro on systems without eventfd. Change-Id: I63b988479db546dabffcfffd1766e1df5255c930 Reviewed-by: Alexandru Croitor Reviewed-by: Fabian Kosmale --- src/corelib/configure.cmake | 3 +-- src/corelib/kernel/qeventdispatcher_unix.cpp | 8 ++++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/corelib/configure.cmake b/src/corelib/configure.cmake index 2ed0a61a730..cbb67bd5fc2 100644 --- a/src/corelib/configure.cmake +++ b/src/corelib/configure.cmake @@ -590,11 +590,10 @@ qt_feature("dladdr" PRIVATE LABEL "dladdr" CONDITION QT_FEATURE_dlopen AND TEST_dladdr ) -qt_feature("eventfd" PUBLIC +qt_feature("eventfd" PRIVATE LABEL "eventfd" CONDITION NOT WASM AND TEST_eventfd ) -qt_feature_definition("eventfd" "QT_NO_EVENTFD" NEGATE VALUE "1") qt_feature("futimens" PRIVATE LABEL "futimens()" CONDITION NOT WIN32 AND TEST_futimens diff --git a/src/corelib/kernel/qeventdispatcher_unix.cpp b/src/corelib/kernel/qeventdispatcher_unix.cpp index a0f8e67b5fe..8cdd535aa97 100644 --- a/src/corelib/kernel/qeventdispatcher_unix.cpp +++ b/src/corelib/kernel/qeventdispatcher_unix.cpp @@ -19,7 +19,7 @@ #include #include -#ifndef QT_NO_EVENTFD +#if QT_CONFIG(eventfd) # include #endif @@ -116,7 +116,7 @@ bool QThreadPipe::init() initThreadPipeFD(fds[0]); fds[1] = fds[0]; #else -# ifndef QT_NO_EVENTFD +# if QT_CONFIG(eventfd) if ((fds[0] = eventfd(0, EFD_NONBLOCK | EFD_CLOEXEC)) >= 0) return true; # endif @@ -137,7 +137,7 @@ pollfd QThreadPipe::prepare() const void QThreadPipe::wakeUp() { if (wakeUps.testAndSetAcquire(0, 1)) { -#ifndef QT_NO_EVENTFD +#if QT_CONFIG(eventfd) if (fds[1] == -1) { // eventfd eventfd_t value = 1; @@ -165,7 +165,7 @@ int QThreadPipe::check(const pollfd &pfd) ::read(fds[0], c, sizeof(c)); ::ioctl(fds[0], FIOFLUSH, 0); #else -# ifndef QT_NO_EVENTFD +# if QT_CONFIG(eventfd) if (fds[1] == -1) { // eventfd eventfd_t value;