Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-3786

QThreadPool synchronization defect in expiration mechanism.

    XMLWordPrintable

Details

    • a9b6a78e54670a70b96c122b10ad7bd64d166514

    Description

      It looks like QThreadPool has some thread synchronization defect in
      expiration mechanism.

      I am using QThreadPool for running some tasks in a separate thread. I have
      faced the following problem. Sometimes the task (QRunnable descendant) does
      not start despite of the pool is idle, i.e. activeThreadCount() is 0. The
      bug is reproduced when start() is called simultaneously with the moment of
      thread life's expiration due to 30-second timeout. I see that starting of
      another task causes thread pool to start the frozen one as well.

      Attachments

        Issue Links

          For Gerrit Dashboard: QTBUG-3786
          # Subject Branch Project Status CR V

          Activity

            People

              dfaure David Faure (Private)
              xcm Martin Petersson (Inactive)
              Votes:
              3 Vote for this issue
              Watchers:
              16 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes