--- 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
|