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

Icon  Name                             Last modified      Size  Description
[PARENTDIR] Parent Directory - [TXT] README 1992-07-30 08:00 2.3K [CMP] mt-xlib-xhib92.ps.Z 1992-07-30 08:00 104K [CMP] mt-xlib.tar.Z 1992-07-30 08:00 1.8M
Multi-Threaded Xlib

This directory contains the source code necessary to build a
Multi-Threaded version of Xlib.  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 the paper describing this library that was
presented at Xhibition '92 and some programmer documentation on the
new features added to this library.

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.

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

Carl Schmidtmann	- cws@faultline.com
Michael Tao		- tao@parc.xerox.com
Steve Watt		- steve@wattres.sj.ca.us