							-*-text-*-
This is PTL2 -- Portable Thread Library v2.

PTL is a library to create/manipluate multiple threads in single UNIX
process.


FEATURES
========

	* Provides the most of POSIX 1003.1c (Pthreads) API.
	* It works on BSD UNIX without CPU dependency. (i.e. portable)
	* On SYSV UNIX, it _may_ work on i386, SPARC, m68k, mips, alpha boxes
	  if you have gcc.
	* Easy to install
	* Free
	* Fast (maybe)
	* Provides Preemption
	* On network I/O, terminal I/O, pipe, SYSV message queue, SYSV
	  semaphore operation, only calling thread blocks and other
	  threads can be continue its execution.
	* Provides simple debugger PDB, which resides in the process.


INSTALLATION
============

	See ./INSTALL

	Platforms that PTL is confirmed to work on are listed on the
	PTL official web site.


DOCUMENTATION
=============

	The URL of the PTL official web site is
		http://www.media.osaka-cu.ac.jp/~k-abe/PTL/

	This page contains the following information.

		* Platforms that PTL is confirmed to work on.
		* Usage of PDB (debugger).
		* Documentation of PTL original API.
		* etc.

	If you can read Japanese, see ./doc/{manual.ps, PTL.info} also.


USAGE
=====

	Compile your pthread'ed program with

		cc foo.c -I/usr/local/PTL/include -L/usr/local/PTL/lib \
		-lPTL

	If gcc is available, you can use ptlgcc command (front end of
	gcc) as follows.

		ptlgcc foo.c


KNOWN RESTRICTIONS AND LIMITATIONS
==================================

	* lacks contention scope PTHREAD_SCOPE_SYSTEM.
	* lacks PTHREAD_DESTRUCTOR_ITERATIONS.
	* lacks PTHREAD_STACK_MIN.
	* lacks _POSIX_THREAD_THREADS_MAX.  (because PTL can make infinite
	  threads if you have enough memory).
	* lacks _POSIX_THREAD_KEYS_MAX.  (because PTL can make infinite
	  keys if you have enough memory).
	* does not support _POSIX_THREAD_PROCESS_SHARED.  Therefore
	  lacks PTHREAD_PROCESS_SHARED.
	* does not support _POSIX_THREAD_ATTR_STACKADDR.  Therefore
	  lacks pthread_attr_setstackaddr() and
	  pthread_attr_getstackaddr(). 
	* does not support _POSIX_THREAD_PRIO_PROTECT. Therefore
	  lacks PTHREAD_PRIO_PROTECT.
	* does not support _POSIX_THREAD_SAFE_FUNCTIONS.  Therefore
	  lacks getlogin_r, ttyname_r, readdir_r, getgrgid_r,
	  getgrnam_r, getpwuid_r, getpwnam_r.
	

FEEDBACK
========

	I hope this library is useful and robust.  If you meet any
	troubles, bugs, questions, please report to the following
	e-mail address.

	  <k-abe@media.osaka-cu.ac.jp>

	Any suggestion is also welcome. 


MAILING LIST
============

	If you want to join the pthread mailing list, please send to
	the following e-mail address (mail body is ignored).  ML guide
	will be returned automatically.

	  <pthread-request@media.osaka-cu.ac.jp>

	Note that this mailing list is for Japanese language
	only. (sorry)


--------------------------------------------------------------------
Kota Abe / Media Center, Osaka City University
E-mail <k-abe@media.osaka-cu.ac.jp>
