Skip to content
  • Jamey Sharp's avatar
    Support multiple independent internal sync handlers · e6a7b70c
    Jamey Sharp authored
    
    
    Xlib has several independent tasks that need to be performed with the
    display unlocked. It does this by replacing the existing sync handler with
    one of a variety of internal sync handlers. However, if multiple internal
    sync handlers need to run, then the last one registering wins and
    previously registered internal sync handlers are never invoked. This
    manifested as a bug with DRI applications on Xlib/XCB as that requires
    both an XID handler after every XID allocation, and the periodic sequence
    number handler. The XID handler would win, and the sequence number handler
    would never be invoked.
    
    Fix this by unifying the internal sync handler mechanism into a single
    function that calls all of the known internal sync handlers. They all need
    to deal with being called when not strictly necessary now.
    
    Signed-off-by: default avatarKeith Packard <keithp@keithp.com>
    Signed-off-by: default avatarJamey Sharp <jamey@minilop.net>
    Signed-off-by: default avatarJosh Triplett <josh@freedesktop.org>
    e6a7b70c