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

QDir is not re-entrant

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P2: Important
    • 6.6.0
    • 6.2.5, 6.3.1, 6.4.0 Beta2
    • Core: I/O
    • None
    • 3
    • a5387f3c1 (dev), fc3942114 (dev)
    • Foundation Sprint 66, Foundation Sprint 67, Foundation Sprint 68, Foundation Sprint 69, Foundation Sprint 72, Foundation Sprint 73

    Description

      Due to the use of lazy initalization (QDirPrivate::initFileLists()), QDir is not re-entrant. E.g. two threads calling QDir::count() on two independent, but shared, copies of a QDir object will cause a data race.

      Acceptance criteria:

      • QDir is ported to QExplicitlySharedDataPointer (to get const-correctness)
      • all internal lazy evaluation is protected from concurrent access

      Attachments

        Issue Links

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

          Activity

            People

              oyheskes Øystein Heskestad
              mmutz Marc Mutz
              Vladimir Minenko Vladimir Minenko
              Alex Blasche Alex Blasche
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews