==============================================================================
README.threads - Wed Nov 29 15:16:24 EST 1995
------------------------------------------------------------------------------

Limited documentation is available in the THREADS file.

This version has been tested on Sun Solaris, SGI Irix, and Windows NT.
It should also work on any single threaded system.

Thanks go to the following people for help test and debug the library:

	Scott Christley, scottc@ocbi.com
	Andrew McCallum, mccallum@cs.rochester.edu

galen
gchunt@cs.rochester.edu

Any questions, bug reports, etc should be directed to:

Scott Christley, scottc@ocbi.com

Please do not bug Galen with email as he no longer supports the code.

==============================================================================
Changes from prior releases (in revered chronological order):
------------------------------------------------------------------------------

* Fixed bug in copy part of sarray_realloc.  I had an < which should
  have been <=. (Bug report from Scott).

------------------------------------------------------------------------------

* Support for DEC OSF/1 is definitely broken.  My programs always
  seg-fault when I link with libpthreads.a.

* Thread id's are no longer int's, but are instead of type
  _objc_thread_t which is typedef'ed from a void *.  An invalid thread
  id is denoted by NULL and not -1 as before.

------------------------------------------------------------------------------

* Renamed thread-winnt.c to thread-win32.c to better reflect support
  for the API on both Windows NT and Windows 95 platforms.  
  (Who knows, maybe even Win32s :-).

* Fixed bugs in Win32 support as per report from Scott Christley.

* Fixed bug in sarray_get as per report from Scott Christley.

	
