Uploaded image for project: ' AGL Development'
  1. AGL Development
  2. SPEC-1510

Block other request of application until the task is finished

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • Flounder
    • None
    • None

      The root cause is the race condition.

       

      Problem

       Application doesn't show in order.

       

      Situation:

      1. Application A requests activateSurface.
      2. Window Manager will change the size of A and emit syncDraw to A
      3. Application B requests activateSurface right after 1
      4. Window Manager will change A invisible and emit syncDraw to B
      5. Application A is slow because if A spends time in syncDraw context.
      6. Application B returns endDraw
      7. Window Manager change B visible. Window Manager set surface visible in endDraw.
      8. Application A returns endDraw
      9. Winodw Manager change A visible

       

      Current Window Manager doesn't change the order of surface in layer, so if A is over B by z-order, A will be displayed after B is displayed.

       

      So Winodow Manager has to handle "task". Window Manager has to block the other request until the task is finished. Of course it is better that WM can cancel the current task when new high priority request comes while transition

        # Subject Branch Project Status CR V

            knimitz Kazumasa Mitsunari
            knimitz Kazumasa Mitsunari
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: