Details
-
Bug
-
Resolution: Done
-
Not Evaluated
-
None
-
1.2.x
-
None
-
4c5cc426a4841657d25b70df4080c220ed16bb7c
Description
The QCoreApplication deadlocks on exit if any pending work involving python is being done in a QRunnable the global QThreadPool.globalInstance().
This is because destroying the QCoreApplication instance is not done releasing the GIL, causing the QThreadPool.globalInstance().waitForDone() to deadlock because the QRunnable cannot proceed to completion due to the GIL being acquired by the QCoreApplication destructor.
The attached patch fixes the deadlock by releasing the GIL while calling `delete qapp`