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

Revise threading model of DOM

    XMLWordPrintable

Details

    • Task
    • Resolution: Unresolved
    • P2: Important
    • Some future release
    • Some future release
    • QML: Tooling
    • None

    Description

      Currently DOM has multiple sync points based on mutexes and lot's of shared_ptr's (managed values of which are not thread-safe) stored in maps of DomEnvironment and DomUniverse.

      Taking into account that DOM is indeed being used in the multi-threaded environments. It would be helpful to:

      1. Figure out the usecases and thread management
      2. Improve explicitness of the sync points
      3. Improve thread-safety. There might be potential data-races / deadlocks, we're not aware of
      4. Reconsider thread sync approach. maybe we can do everything in lock-free manner
      5. Remove DomEnv::Options::SingleThreaded, 'cos it doesn't say anything and DOM is used in multithreaded env?
      6. Also there might happen a sync problem between with the current file and created dom as you edit the file. Sometimes, we get invalid dom on editing the document even if the document is syntactically correct.

       

      Attachments

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

        Activity

          People

            qtqmlteam Qt Qml Team User
            dima.a Dmitrii Akshintsev
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes