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

_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to