Comment 22 for bug 260138

Revision history for this message
In , Alan Coopersmith (alan-coopersmith) wrote :

(In reply to comment #4)
> It is clear that the tradeoff that was made to only allow 256 connections is
> heavily lopsided towards allowing those clients to open far more resources than
> any actually use in practice.

Than any your users use perhaps - we have had users with applications that ran
out, especially CAD/CAM type applications. Remember that older toolkits did
a lot more server side than GTK & Qt today, and some did things like creating
a new Window id for every widget.

> If it's a bit too much work to add a configuration or cmdline option (your
> patch would definitely be worthwhile though), can't we change the default (such
> as in http://readlist.com/lists/lists.freedesktop.org/xorg/3/17055.html )
> anyway, since it's currently so heavily lopsided?

While I've not extracted the change into a patch that could be easily ported/applied to Xorg, the code to the Solaris Xsun fork of the X11R6.*
server fork has since been published if someone else wants to try.

The code to the entire server is published at:
http://dlc.sun.com/osol/x/downloads/openXsun/

The command-line selectable 128/1024 clients code changes should be in these
files (and possibly more, I've not searched, just referring to our original
code changes - and obviously not all these apply to X11R7.x/Xorg 1.x):
  xc/programs/Xserver/Xext/mbuf.c
  xc/programs/Xserver/Xext/multibuf.c
  xc/programs/Xserver/Xext/security.c
  xc/programs/Xserver/Xi/closedev.c
  xc/programs/Xserver/dbe/dbe.c
  xc/programs/Xserver/dix/colormap.c
  xc/programs/Xserver/dix/dixutils.c
  xc/programs/Xserver/dix/grabs.c
  xc/programs/Xserver/include/misc.h
  xc/programs/Xserver/include/resource.h
  xc/programs/Xserver/include/windowstr.h
  xc/programs/Xserver/lbx/lbxcmap.c
  xc/programs/Xserver/lbx/lbxmain.c
  xc/programs/Xserver/lbx/lbxserve.h
  xc/programs/Xserver/os/WaitFor.c
  xc/programs/Xserver/os/connection.c
  xc/programs/Xserver/os/io.c
  xc/programs/Xserver/os/osdep.h
  xc/programs/Xserver/os/osinit.c
  xc/programs/Xserver/os/utils.c
  xc/programs/Xserver/os/xdmcp.c
  xc/programs/Xserver/pandix/dispatch.c
  xc/programs/Xserver/pandix/events.c
  xc/programs/Xserver/pandix/main.c
  xc/programs/Xserver/pandix/resource.c
  xc/programs/Xserver/pandix/window.c
  xc/programs/Xserver/record/record.c

plus at least this patch to x11proto:
http://src.opensolaris.org/source/xref/x-cons/XW_NV_tw-clone/open-src/proto/x11proto/Xpoll.h-patch