Spinning in _XReply

Rami Ylimäki rami.ylimaki at vincit.fi
Fri Feb 25 05:18:37 PST 2011


On 02/25/2011 02:48 PM, Daniel Stone wrote:
> On Fri, Feb 25, 2011 at 02:08:38PM +0200, Rami Ylimäki wrote:
>> On 02/23/2011 04:35 PM, Michal Suchanek wrote:
>>>> X server seems to preserve the extension codes until the server is
>>>> regenerated and therefore all connections should use the same codes.
>>>>
>>> Is that guaranteed by some protocol or does it just happen to work as
>>> the requests in error handler did?
>> This is a good point and I can't find a definite answer for it.
>>
>> Documentation of "C.2.1 XInitExtension" from Xlib manual says that
>> the Xlib specific extension number in XExtCodes is connection
>> specific, which makes sense, because the number is managed
>> internally in Xlib and not asked from server. Then "C.5.11 Deriving
>> the Correct Extension Opcode" says that a separate XExtCodes should
>> be maintained for each connection.
>>
>> So I think that one shouldn't assume that opcodes stay the same,
>> even though it seems to be so in practice.
> Er, really? How would sending requests then work without an event from
> the server telling you to round-trip and get the extension list again?
>

Looks like I removed a little bit too much context when answering. The 
original question was about whether one can trust that extension opcodes 
are the same between connections. The answer seems to be that there is 
no guarantee of that, because XExtCodes structure is connection 
specific. Of course the opcodes should stay the same over the lifetime 
of a connection but nobody guarantees, that XInitExtension returns the 
same opcodes for different connections, even though in practice it's so.

-- Rami



More information about the xorg-devel mailing list