Uploaded image for project: 'Qt for Python'
  1. Qt for Python
  2. PYSIDE-190

Application Deadlocks on exit if pending task in QThreadPool

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Not Evaluated Not Evaluated
    • None
    • 1.2.x
    • PySide
    • None
    • 4c5cc426a4841657d25b70df4080c220ed16bb7c

      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`

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            Unassigned Unassigned
            pankajp Pankaj Pandey
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes