<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">31.03.2018 22:00, Keith Packard пишет:<br>
    </div>
    <blockquote type="cite" cite="mid:87605crry2.fsf@keithp.com">
      <blockquote type="cite">
        <pre wrap="">+    if (oc->output && oc->output->count > 0)
+        (void) FlushClient(client, oc, (char *) NULL, 0);
+
</pre>
      </blockquote>
      <pre wrap="">FlushClient doesn't empty the buffer when the kernel buffers are full,
so while calling it here may reduce the occurrence of the problem, it
won't eliminate it.

One way to fix this would be to have the X server OS layer *also* buffer
fds and ensure that they are presented to Xtrans just before the reply
which uses them. Alternatively, we could fix xcb so that it kept the fds
around for 'a while' instead of discarding them immediately. The latter
approach seems a lot easier to me?
</pre>
    </blockquote>
    <span id="result_box" class="" lang="en"><span class="">Yes, it
        would be easier to fix this in libxcb, but I believe that it
        would be more<br>
        correct to do this in the X server</span></span>. At least I
    want to try to fix the X server.<br>
  </body>
</html>