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