NGPT - Next Generation POSIX Threading

Version 1.2.0 Notes:
===================

NGPT Release 1.2.0 is the first "stable" release of the NGPT 2.0 development tree.  This release 
is fully suitable as a replacement for LinuxThreads by either a single user or group or and entire
distribution.  Some time in late March or early April, release 1.9.0 will be released that will 
contain early versions of the new 2.0 features such as shared mutexes and shared semaphores.

In this release, we've concentrated on two areas, bug fixes and LinuxThreads compatibility.
Along the way, we've once again improved performance.  We've also included an implementation
of semaphores that is fully LinuxThreads compatible.  This implementation will be enhanced in the
2.0 timeframe to achieve full POSIX compliance as well as the capability of sharing semaphores
across processes.

The binary RPMs supplied with this release are based on and built for use with a
2.4.17 or better kernel that has the new "officially" sanctioned patch that is included
in this release. If you install them on a system that is either not patched, NGPT will only
be able to operate in M:1 mode, providing only userlevel threading.

You can build the library from source by downloading the source tarball or source
rpm and consulting the INSTALL file.

If you are running with a 2.5.x experimental kernel, it's best that run with 2.5.4 or higher
since it will already have the required changes for NGPT.  You will also have to rebuild
NGPT from either the source tarball or rpm.

As an STABLE RELEASE, this release is suitable for use in a production environment, however,
although we have done fairly extensive testing you may encounter problems. If you encounter 
any problems with this release please post them to the NGPT website and the development 
team will address them promptly.

Known Problems
==============
1.  In LinuxThreads, credentials are thread based.  In NGPT running on
    a uniprocessor machine, credentials are process based as demanded by
    POSIX.  However, on an SMP machine, this is not yet true. The NGPT team
    has come up with a solution and we expect it be available in the 2.0 timeframe.

2.  The pshared flag = PTHREAD_PROCESS_SHARED attribute of mutexes is not
    yet supported.  This functionality has been designed by the NGPT team and
    will be in a forthcoming "unstable" release (Q1,2002) with a "stable" release
    planned for NGPT 2.0 in Q2, 2002.

3.  This release will work only on IA32 (x86), IA64, PowerPC and S/390 architectures.
    We're always looking for folks with specific platform experience to port NGPT
    to additional hardware platforms.

4.  There is currently no built-in support in gdb for debugging NGPT based
    applications. However, to debug a program linked with NGPT you can set
    the environment variable MAXNATIVETHREAD=1 to disable M:N threading making
    it relatively simple to use the standard issue gdb.

5.  NGPT has only been tested with 2.5.4 or higher of the experimental kernels.
