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

Race condition in QSemaphore

    XMLWordPrintable

    Details

    • Platform/s:
      Linux/X11
    • Commits:
      830b1550de (qt/qtbase/dev) 830b1550de (qt/tqtc-qtbase/dev) a210635b6d (qt/qtbase/6.3) a210635b6d (qt/tqtc-qtbase/6.3) 6c4c3d8a48 (qt/tqtc-qtbase/5.15) 5371db4675 (qt/qtbase/6.2) 5371db4675 (qt/tqtc-qtbase/6.2)

      Description

      1. N threads are releasing 1 on the semaphore
      2. One thread acquiring N , and then deleting the semaphore
      3. Two threads are releasing at once. One releasing N-1, and the other N.
      4. N-1 releasing thread wakes the acquiring thread, N releasing thread increases the count to N, but doesn't wake waiting threads yet
      5. The acquiring thread sees N, acquires it and exits and deletes the se
      6. The N releasing thread now tries to wake waiting threads.

       

        Attachments

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

          Activity

            People

            Assignee:
            allan.jensen Allan Sandfeld Jensen
            Reporter:
            allan.jensen Allan Sandfeld Jensen
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes