KGlobalAccel: Fix deadlock on exit under Windows

Authored by kfunk on Jul 12 2016, 8:18 AM.

Description

KGlobalAccel: Fix deadlock on exit under Windows

Summary:
KDE applications dead-lock on exit without this patch. Need to free all
DBus resources before qApp exits.

Stack trace:

ntdll.dll!NtWaitForSingleObject()  Unknown
KernelBase.dll!WaitForSingleObjectEx() Unknown
Qt5Core.dll!QWaitCondition::wait(QMutex * mutex=0x000001e2ae2edbf0, unsigned long time=4294967295) Line 178 C++
Qt5Core.dll!QSemaphore::acquire(int n=1) Line 136   C++
Qt5Core.dll!QMetaObject::activate(QObject * sender=0x000001e2a7809450, int signalOffset, int local_signal_index, void * * argv=0x00000031c07af0d0) Line 3699    C++
Qt5Core.dll!QObject::~QObject() Line 913    C++
KF5GlobalAccel.dll!00007fff3101a115()   Unknown
Qt5Core.dll!QObjectPrivate::deleteChildren() Line 1960  C++
Qt5Core.dll!QObject::~QObject() Line 1034   C++
KF5GlobalAccel.dll!00007fff31036670()   Unknown
ucrtbase.dll!_time64() Unknown
ucrtbase.dll!__crt_seh_guarded_call<int>::operator()<class <lambda_e24bbb7b643b32fcea6fa61b31d4c984>,class <lambda_275893d493268fdec8709772e3fcec0e> &,class <lambda_9d71df4d7cf3f480f8d633942495c3b0> >(class <lambda_e24bbb7b643b32fcea6fa61b31d4c984> &&,class <lambda_275893d493268fdec8709772e3fcec0e> &,class <lambda_9d71df4d7cf3f480f8d633942495c3b0> &&)   Unknown
ucrtbase.dll!_execute_onexit_table()   Unknown
KF5GlobalAccel.dll!00007fff3102df62()   Unknown
KF5GlobalAccel.dll!00007fff3102e09e()   Unknown
ntdll.dll!LdrpCallInitRoutine() Unknown
ntdll.dll!LdrShutdownProcess()  Unknown
ntdll.dll!RtlExitUserProcess()  Unknown
kernel32.dll!ExitProcessImplementation()   Unknown
ucrtbase.dll!swprintf()    Unknown
ucrtbase.dll!swprintf()    Unknown
kdevelop.exe!__scrt_common_main_seh() Line 266  C++
kernel32.dll!BaseThreadInitThunk() Unknown
ntdll.dll!RtlUserThreadStart()  Unknown

Similar patch: https://phabricator.kde.org/D1909

Reviewers: vonreth, graesslin, dfaure

Reviewed By: graesslin, dfaure

Subscribers: graesslin, Frameworks

Differential Revision: https://phabricator.kde.org/D2142

Details

Committed
kfunkJul 12 2016, 7:06 PM
Reviewer
graesslin
Differential Revision
D2142: KGlobalAccel: Fix deadlock on exit under Windows
Parents
R268:688f8496c282: Upgrade KF5 version to 5.25.0.
Branches
Unknown
Tags
Unknown