On Wed, 2019-12-04 at 18:24 +0800, cheng...@emindsoft.com.cn wrote: > From: Chen Gang <cheng...@emindsoft.com.cn> > > The global (un)lock xserver operations will have effect to the whole > system, and all the other gui apps have to be blocked, so the operations > should not be buffered, or may cause sync issue, e.g. reboot machine.
Enh. I can maybe see the point of this for XUngrabServer, but I think doing this for XGrabServer may actually make interactivity worse. With the code as it is currently, the GrabServer request will be buffered inside the client until something happens to flush it out (presumably something like QueryTree or GetImage that provokes a reply), and while it stays buffered other clients may still interact with the server. With this change you'll immediately write the request to the server, and you might lose your scheduler timeslice as a result, in which case not only will the grabbing client need to wait to reschedule but every other client will need to wait in line behind the grabbing client. Do you have a scenario in mind that this helps with? Does doing _XFlush only for XUngrabServer work just as well? - ajax _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel