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