Index of /archives/X/opengroup/R5contrib/mt-xlib-1.1

Icon  Name                             Last modified      Size  Description
[PARENTDIR] Parent Directory - [TXT] README 1993-01-21 07:00 3.0K [CMP] mt-xlib-xhib92.ps.Z 1993-01-21 07:00 104K [CMP] mt-xlib.tar.Z 1993-01-21 07:00 1.6M
Multi-Threaded Xlib (version 1.1, January 21, 1993)

The first version, 1.0, was publicly released on Auguest 5, 1992.

This directory contains the source code necessary to build a
Multi-Threaded version of Xlib based X11R5 patch 12.  The directory
structure is the same as the standard X distribution but DO NOT tar
this kit directly on top of an X distribution directory.  Some of
the Imakefiles were modified so that only the required directories
are built.

The doc directory contains a paper describing this library that
was presented at Xhibition '92 and some programmer documentation on
the new features added to this library.

Note:  Another paper was published at the USENIX Winter 1993 Technical
Conference.  It describes, in addition to the technical detail of
this library, the performance improvement and measurement that were
done since the 1.0 release.  The paper is copyrighted by the USENIX
and can be found under the title "Design and Implementation of a
Multi-Threaded Xlib" in the USENIX Winter 1993 Technical Conference
proceedings.

Building the new Xlib should be as easy as building the rest of X.
Edit the config/site.def file to set the appropriate threads package
and then do a 'make World'.

Currently the only platform supported is OSF/1 from DEC using
Pthreads.  If you have Pthreads on some other platform you should be
able to build this without much difficulty.  PCR, a threaded pseudo-OS
from Xerox PARC has also been tested but you may have to play with the
configuration files a little before it will compile correctly.

The library can also be built without threads support.  Simply remove
the PThreads definition from site.def and a non-threaded version
should be built.

There is a tests directory which contains a simple program to use the
new Xlib.  It simply puts up a window with two buttons - one to start
the test and one to quit the program.  Pressing the start test button
opens a new window.  Whenever MB1 is pressed in the new window the
upper left corner of the screen will be copied into the window.  Each
test window that is started runs with a separate thread.  This program
is meant only to demonstrate how to use the multiple event queues
provided by the new Xlib.  The Makefile in the tests directory works
only on OSF/1 from DEC.  For other platforms you will need to change
the library list used for ld.

You can also use this library, compiled with thread support, with
single-threaded applications.  We have tested it with xclock and
xterm.  We tried it with twm but the server hung.  We have not had the
opportunity to debug this problem yet.  XSoft/Xerox's GlabolView for X,
a multi-threaded window environment with many integrated office
applications, is a client of this multi-threaded Xlib.

Please report any good or bad experiences with this library to us.
We are very interested in how and where this library might be put to use.

Carl Schmidtmann	- cws@faultline.com
Michael Tao		- tao@eng.sun.com
Steve Watt		- steve@wattres.sj.ca.us
Or simply mt-xlib-comment@xsoft.xerox.com