Xpra: Ticket #1798: remove synchronization points in nested X11 contexts
We have been running with a call to gdk flush whenever we exit a nested X11 context since r1783 (back in 2012!), the unsynced version was briefly enabled in r1777.
r18869 has added unchecked context detection, including a few fixes, so now is a good time to try again.
This may cause crashes if we somehow end up getting back to the gtk main loop without first calling flush and trapping X11 errors. But since those are nested contexts, we should always be exiting the outer context before returning to gtk.
Sat, 31 Mar 2018 14:01:57 GMT - Antoine Martin: owner, description changed
- owner
changed from Antoine Martin to J. Max Mena
- description
modified (diff)
Done in r18922, this tiny commit can be undone by running with XPRA_SYNCHRONIZE=0 xpra start ..
Effects:
- might make things faster, especially when there is some latency between the xpra server and the X11 server (ie: when running them on separate systems, which is crazy, but I've seen people do that)
- can make errors get reported against the outer sync context, rather than the innermost one - if and when such errors occur, we can turn sync back on to get better error messages
- could potentially cause crashes, in which case we'll revert this change - I've stress tested it for 2 weeks and not seen any problems
@maxmylyn: mostly a FYI.
Tue, 03 Apr 2018 17:55:39 GMT - J. Max Mena: status changed; resolution set
- status
changed from new to closed
- resolution
set to fixed
Noted and closing.
Sat, 23 Jan 2021 05:34:04 GMT - migration script:
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1798