[PATCH xserver] os: Call FlushClient() before sending FD-passing messages

Alexander Volkov a.volkov at rusbitech.ru
Tue Apr 3 17:06:30 UTC 2018


31.03.2018 22:00, Keith Packard пишет:
>> +    if (oc->output && oc->output->count > 0)
>> +        (void) FlushClient(client, oc, (char *) NULL, 0);
>> +
> 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?
Yes, it would be easier to fix this in libxcb, but I believe that it 
would be more
correct to do this in the X server. At least I want to try to fix the X 
server.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.x.org/archives/xorg-devel/attachments/20180403/1ca08391/attachment.html>


More information about the xorg-devel mailing list