Index: ossp-pkg/pth/ANNOUNCE RCS File: /v/ossp/cvs/ossp-pkg/pth/ANNOUNCE,v rcsdiff -q -kk '-r1.14' '-r1.15' -u '/v/ossp/cvs/ossp-pkg/pth/ANNOUNCE,v' 2>/dev/null --- ANNOUNCE 2002/10/15 20:34:22 1.14 +++ ANNOUNCE 2003/02/17 10:49:02 1.15 @@ -5,11 +5,11 @@ |_| \__|_| |_| the impossible.'' GNU Pth - The GNU Portable Threads - Version 1.4 + Version 2.0 Pth is a very portable POSIX/ANSI-C based library for Unix platforms which provides non-preemptive priority-based scheduling for multiple - threads of execution (aka "multithreading") inside event-driven + threads of execution (aka "multi-threading") inside event-driven applications. All threads run in the same address space of the server application, but each thread has its own individual program-counter, run-time stack, signal mask and errno variable. @@ -26,30 +26,56 @@ Pth also provides an optional emulation API for POSIX.1c threads ("Pthreads") which can be used for backward compatibility to existing - multithreaded applications. + multi-threaded applications. - Pth 1.4 has an even more extensive support for auto-configuring - the package to work on the different Unix platforms without the - requirement for the end user to manually adjust the package. - Additionally the underlying thread creation and dispatching mechanism - was greatly enhanced and cleaned up, too. With this, version 1.4 now - was successfully built and tested on numerous Unix platforms, ranging - from the major ones like GNU/Linux, FreeBSD, NetBSD, OpenBSD, BSDI, - Solaris, HPUX, Tru64, AIX, IRIX, UnixWare and SCO, to more esoteric - flavors like SINIX, ReliantUNIX, ISC, SCO, NCR, AmigaOS, Rhapsody - (MacOS X), FTX, AUX and Win32/Cygwin. - - Additionally the auto-configuration mechanism allows GNU Pth to - automatically adjusts itself to run also on mostly all remaining Unix - platforms, including ancient versions for which a multi-threading - environment never existed before. This is especially achieved in Pth - by not using any assembly code or platform specific solutions and by - using a very tricky but portable thread creation fallback approach - which will be published in great detail on the USENIX 2000 Annual - Conference this summer. + NEW IN PTH 2.0 + + Pth 2.0 provides more strict POSIX.1-2001/SUSv3 compliant wrapper + functions in its high-level I/O API. Most notable, the implementations + of pth_poll(3) and pth_select(3) were completely worked off in order + to achieve POSIX semantics. A Pth variant of the new POSIX pselect(2) + function was introduced, too. + + Pth now has support for arbitrary (usually higher than the default) + FD_SETSIZE values to support larger-scale server applications. + + A new environment attribute PTH_ATTR_DISPATCHES allows the application + to query the total number of machine context dispatches Pth performed + since the last attribute reset. + + Pth's internal machine context implementation is now exported in a + sub-API pth_uctx in order to allow applications to use raw user-space + context switching. This can be used to implement co-routines, + exception handling or even an alternative multi-threading environment + with the help of Pth. + + The "hard syscall mapping" functionality was completely rewritten + from scratch. Previously, the internal system call exit points were + based on syscall(2) only. This was problematic because it by-passed + the C library glue code which often performs necessary glue code in + order to call the code in the kernel correctly. Now the internal exit + points are based on a by-system-call dynamically selected combination + of RTLD_NEXT+dlsym(2), dlopen(2)+dlsym(2) and the known syscall(2) (in + this fallback order). This way the "hard syscall mapping" became a lot + more portable and flexible. + + Optional support for OSSP ex based exception handling was added which + allows ISO C applications to use fully multi-threading aware ISO C++ + style exception handling. + + Finally, the Pth build environment was upgraded to be now based on GNU + autoconf 2.57, GNU shtool 1.6.2 and GNU libtool 1.4.3. + + MORE INFORMATION + + More details about Pth can be found at the following locations from + the GNU and OSSP projects: + + o GNU: http://www.gnu.org/software/pth/ + o GNU: ftp://ftp.gnu.org/gnu/pth/ + o OSSP: http://www.ossp.org/pkg/lib/pth/ + o OSSP: ftp://ftp.ossp.org/pkg/lib/pth/ - http://www.gnu.org/software/pth/ - ftp://ftp.gnu.org/gnu/pth/ Ralf S. Engelschall rse@engelschall.com www.engelschall.com Index: ossp-pkg/pth/ChangeLog RCS File: /v/ossp/cvs/ossp-pkg/pth/ChangeLog,v rcsdiff -q -kk '-r1.604' '-r1.605' -u '/v/ossp/cvs/ossp-pkg/pth/ChangeLog,v' 2>/dev/null --- ChangeLog 2003/01/01 15:49:11 1.604 +++ ChangeLog 2003/02/17 10:49:02 1.605 @@ -19,7 +19,13 @@ / __/ | |_| | __|_____(_)___/_________________________________________________________ - Changes between 2.0b2 and 2.0b3 (04-Dec-2002 to xx-Jan-2003) + Changes between 2.0b2 and 2.0.0 (04-Dec-2002 to 17-Feb-2003) + + *) Final source tree polishing before release. + [Ralf S. Engelschall] + + *) Wrote summary for Pth 2.0 for the ANNOUNCE document. + [Ralf S. Engelschall] *) Adjusted all copyright messages for new year 2003. [Ralf S. Engelschall] Index: ossp-pkg/pth/NEWS RCS File: /v/ossp/cvs/ossp-pkg/pth/NEWS,v rcsdiff -q -kk '-r1.38' '-r1.39' -u '/v/ossp/cvs/ossp-pkg/pth/NEWS,v' 2>/dev/null --- NEWS 2003/02/11 13:19:07 1.38 +++ NEWS 2003/02/17 10:49:03 1.39 @@ -12,7 +12,7 @@ This is a list of user-visible and/or major changes to GNU Pth. For more details please have a look at the ChangeLog file. - Changes between 1.4 and 2.0 (24-Mar-2001 to 11-Feb-2003) + Changes between 1.4 and 2.0 (24-Mar-2001 to 17-Feb-2003) *) Make pth_poll(3) more compliant to POSIX.1-2001/SUSv3 poll(2). *) Make pth_select(3) more compliant to POSIX.1-2001/SUSv3 select(2). Index: ossp-pkg/pth/README RCS File: /v/ossp/cvs/ossp-pkg/pth/README,v rcsdiff -q -kk '-r1.201' '-r1.202' -u '/v/ossp/cvs/ossp-pkg/pth/README,v' 2>/dev/null --- README 2003/02/11 13:19:27 1.201 +++ README 2003/02/17 10:49:03 1.202 @@ -5,7 +5,7 @@ |_| \__|_| |_| the impossible.'' GNU Pth - The GNU Portable Threads - Version 2.0.0 (11-Feb-2003) + Version 2.0.0 (17-Feb-2003) ABSTRACT Index: ossp-pkg/pth/pth_vers.c RCS File: /v/ossp/cvs/ossp-pkg/pth/pth_vers.c,v rcsdiff -q -kk '-r1.146' '-r1.147' -u '/v/ossp/cvs/ossp-pkg/pth/pth_vers.c,v' 2>/dev/null --- pth_vers.c 2003/02/11 13:19:27 1.146 +++ pth_vers.c 2003/02/17 10:49:03 1.147 @@ -34,11 +34,11 @@ pth_internal_version_t pth_internal_version = { 0x200200, "2.0.0", - "2.0.0 (11-Feb-2003)", - "This is GNU Pth, Version 2.0.0 (11-Feb-2003)", - "GNU Pth 2.0.0 (11-Feb-2003)", + "2.0.0 (17-Feb-2003)", + "This is GNU Pth, Version 2.0.0 (17-Feb-2003)", + "GNU Pth 2.0.0 (17-Feb-2003)", "GNU Pth/2.0.0", - "@(#)GNU Pth 2.0.0 (11-Feb-2003)", + "@(#)GNU Pth 2.0.0 (17-Feb-2003)", "$Id$" };