Disable unloading libraries on VxWorks

Unloading plugins after each test case in QtDeclarative autotests leads to crashes (signal 11) during type registration in subsequent test cases.
The issue arises due to the unloading process, where unloading and then re-registering types in the next test case leads to sig11.
Disabling the unloading of libraries prevents the crashes.

Task-number: QTBUG-115777
Change-Id: I6712f687134fd452fb0b962363a8f0fde85344ff
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
(cherry picked from commit ef5ab6e00664caf0af23b21593f809d718c9dfc7)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Jacek Poplawski 2024-02-02 12:43:56 +01:00 committed by Qt Cherry-pick Bot
parent e576d50d7c
commit 54a32bdacf

View File

@ -262,6 +262,7 @@ bool QLibraryPrivate::load_sys()
bool QLibraryPrivate::unload_sys()
{
#if !defined(Q_OS_VXWORKS) // Unloading on VxWorks causes crashes in QtDeclarative autotests
if (dlclose(pHnd.loadAcquire())) {
#if defined (Q_OS_QNX) // Workaround until fixed in QNX; fixes crash in
char *error = dlerror(); // QtDeclarative auto test "qqmlenginecleanup" for instance
@ -275,6 +276,7 @@ bool QLibraryPrivate::unload_sys()
return false;
}
errorString.clear();
#endif
return true;
}