IPC: switch the default key type on Unix to POSIX realtime

Instead of the System V one. An important difference is that
QSharedMemory does not clean after itself.

Updated the configure summary output to include this information.
Drive-by update to sorting order and I removed cpp-winrt from the
listing because there's a warning at the end if it is not set.

Change-Id: I12a088d1ae424825abd3fffd171e0eadcfd33426
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
This commit is contained in:
Thiago Macieira 2022-10-14 15:04:11 -07:00
parent 0740ab56d7
commit 7e64ecacb6
3 changed files with 6 additions and 11 deletions

View File

@ -614,7 +614,7 @@ qt_feature("inotify" PUBLIC PRIVATE
) )
qt_feature_definition("inotify" "QT_NO_INOTIFY" NEGATE VALUE "1") qt_feature_definition("inotify" "QT_NO_INOTIFY" NEGATE VALUE "1")
qt_feature("ipc_posix" qt_feature("ipc_posix"
LABEL "Using POSIX IPC" LABEL "Defaulting legacy IPC to POSIX"
CONDITION TEST_posix_shm AND TEST_posix_sem AND ( CONDITION TEST_posix_shm AND TEST_posix_sem AND (
FEATURE_ipc_posix OR (APPLE AND QT_FEATURE_appstore_compliant) FEATURE_ipc_posix OR (APPLE AND QT_FEATURE_appstore_compliant)
OR NOT (TEST_sysv_shm AND TEST_sysv_sem) OR NOT (TEST_sysv_shm AND TEST_sysv_sem)
@ -769,6 +769,7 @@ qt_feature("xmlstream" PUBLIC
qt_feature("cpp-winrt" PRIVATE PUBLIC qt_feature("cpp-winrt" PRIVATE PUBLIC
LABEL "cpp/winrt base" LABEL "cpp/winrt base"
PURPOSE "basic cpp/winrt language projection support" PURPOSE "basic cpp/winrt language projection support"
AUTODETECT WIN32
CONDITION WIN32 AND TEST_cpp_winrt CONDITION WIN32 AND TEST_cpp_winrt
) )
qt_feature_definition("xmlstream" "QT_NO_XMLSTREAM" NEGATE VALUE "1") qt_feature_definition("xmlstream" "QT_NO_XMLSTREAM" NEGATE VALUE "1")
@ -999,15 +1000,18 @@ qt_feature("permissions" PUBLIC
PURPOSE "Provides support for requesting user permission to access restricted data or APIs" PURPOSE "Provides support for requesting user permission to access restricted data or APIs"
CONDITION APPLE OR ANDROID OR WASM CONDITION APPLE OR ANDROID OR WASM
) )
qt_configure_add_summary_section(NAME "Qt Core") qt_configure_add_summary_section(NAME "Qt Core")
qt_configure_add_summary_entry(ARGS "backtrace") qt_configure_add_summary_entry(ARGS "backtrace")
qt_configure_add_summary_entry(ARGS "doubleconversion") qt_configure_add_summary_entry(ARGS "doubleconversion")
qt_configure_add_summary_entry(ARGS "system-doubleconversion") qt_configure_add_summary_entry(ARGS "system-doubleconversion")
qt_configure_add_summary_entry(ARGS "forkfd_pidfd" CONDITION LINUX)
qt_configure_add_summary_entry(ARGS "glib") qt_configure_add_summary_entry(ARGS "glib")
qt_configure_add_summary_entry(ARGS "icu") qt_configure_add_summary_entry(ARGS "icu")
qt_configure_add_summary_entry(ARGS "system-libb2") qt_configure_add_summary_entry(ARGS "system-libb2")
qt_configure_add_summary_entry(ARGS "mimetype-database") qt_configure_add_summary_entry(ARGS "mimetype-database")
qt_configure_add_summary_entry(ARGS "cpp-winrt") qt_configure_add_summary_entry(ARGS "permissions")
qt_configure_add_summary_entry(ARGS "ipc_posix" CONDITION UNIX)
qt_configure_add_summary_entry( qt_configure_add_summary_entry(
TYPE "firstAvailableFeature" TYPE "firstAvailableFeature"
ARGS "etw lttng ctf" ARGS "etw lttng ctf"
@ -1024,11 +1028,6 @@ qt_configure_add_summary_entry(
) )
qt_configure_add_summary_entry(ARGS "pcre2") qt_configure_add_summary_entry(ARGS "pcre2")
qt_configure_add_summary_entry(ARGS "system-pcre2") qt_configure_add_summary_entry(ARGS "system-pcre2")
qt_configure_add_summary_entry(
ARGS "forkfd_pidfd"
CONDITION LINUX
)
qt_configure_add_summary_entry(ARGS "permissions")
qt_configure_end_summary_section() # end of "Qt Core" section qt_configure_end_summary_section() # end of "Qt Core" section
qt_configure_add_report_entry( qt_configure_add_report_entry(
TYPE NOTE TYPE NOTE

View File

@ -31,8 +31,6 @@ public:
static constexpr Type DefaultTypeForOs = static constexpr Type DefaultTypeForOs =
#ifdef Q_OS_WIN #ifdef Q_OS_WIN
Type::Windows Type::Windows
#elif !defined(QT_POSIX_IPC)
Type::SystemV
#else #else
Type::PosixRealtime Type::PosixRealtime
#endif #endif

View File

@ -46,8 +46,6 @@ void tst_QNativeIpcKey::defaultTypes()
#ifdef Q_OS_WIN #ifdef Q_OS_WIN
QCOMPARE(type, QNativeIpcKey::Type::Windows); QCOMPARE(type, QNativeIpcKey::Type::Windows);
#elif !defined(QT_POSIX_IPC)
QCOMPARE(type, QNativeIpcKey::Type::SystemV);
#else #else
QCOMPARE(type, QNativeIpcKey::Type::PosixRealtime); QCOMPARE(type, QNativeIpcKey::Type::PosixRealtime);
#endif #endif