Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • mutter mutter
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1,106
    • Issues 1,106
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 126
    • Merge requests 126
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GNOMEGNOME
  • muttermutter
  • Merge requests
  • !216

cogl-winsys-glx: Fix frame notification race/leak [performance]

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Daniel van Vugt requested to merge vanvugt/mutter:fix-pending-swaps into master Sep 03, 2018
  • Overview 13
  • Commits 1
  • Pipelines 19
  • Changes 1

If a second set_{sync,complete}_pending was queued before the idle handler had flushed the first then one of them would be forgotten. It would stay queued forever and never emitted as a notification.

This could happen repeatedly causing a slow leak. But worse still, clutter-stage-cogl would then have pending_swaps permanently stuck above zero preventing the presentation timing logic from being used.

The problem is that a boolean can only count to one, but in some cases (triple buffering, whether intentional or accidental #334 (closed)) we need it to count to two. So just change booleans to integers and count properly.

Edited Apr 12, 2019 by Daniel van Vugt
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: fix-pending-swaps