Index: ossp-pkg/pth/ChangeLog RCS File: /v/ossp/cvs/ossp-pkg/pth/ChangeLog,v co -q -kk -p'1.515' '/v/ossp/cvs/ossp-pkg/pth/ChangeLog,v' | diff -u /dev/null - -L'ossp-pkg/pth/ChangeLog' 2>/dev/null --- ossp-pkg/pth/ChangeLog +++ - 2024-05-17 09:02:01.911449946 +0200 @@ -0,0 +1,2164 @@ + ____ _ _ + | _ \| |_| |__ + | |_) | __| '_ \ ``Just because everything is different + | __/| |_| | | | doesn't mean anything has changed.'' + |_| \__|_| |_| -- Irene Peter + + GNU Pth - The GNU Portable Threads + + ChangeLog + ========= + + This is the list of all(!) changes to this Pth source tree. For a list + of just the user-visible and/or major changes please have a look at + the NEWS file. + + _ _ _ + / || || | + | || || |_ + | ||__ _| + __|_(_) |_|_____________________________________________________________ + + Changes between 1.4a1 and 1.4a2 (16-Apr-2000 to xx-Jun-2000) + + *) Upgraded to GNU Shtool 1.4.10 + [Ralf S. Engelschall] + + *) Upgraded rse-pmt.ps paper to latest version as it will be + published on USENIX 2000. + [Ralf S. Engelschall] + + *) Stack boundary fixes for Interactive Unix support + (--with-mctx-dsp=sjljisc). This allows one also to use this + variant for Interix on Window-NT (a POSIX.1 compliant subsystem). + [Kim Jongsu ] + + *) Upgraded to GNU Libtool 1.3.5 + [Ralf S. Engelschall] + + *) Fixed config.param parsing: IF is now also allowed on + VARIABLE=VALUE lines. + [Ralf S. Engelschall] + + *) Allow for convinience reasons pth_usleep() to accept also + arguments greater than 1000000. + [Harvinder Sawhney ] + + *) Updated HACKING document. + [Ralf S. Engelschall] + + *) Fixed warnings in pth_string.c related to va_arg() usage + and implicit type conversions. + [Ralf S. Engelschall] + + *) Merge from Pth 1.3.5: + Fixed the checks in Autoconf: the logic + was reversed and this way wasn't included on + platforms were it existed and included where it wasn't present. + [M. Lavasani ] + + Changes between 1.3.3 and 1.4a1 (10-Mar-2000 to 16-Apr-2000) + + *) Added a new feature to config.param: parameters can be extended + with ``IF''. Then the preceeding + parameter is only added to the command line if the + returns 0. can be anything which is possible in a + Bourne-Shell `if' construct's expression. + [Ralf S. Engelschall] + + *) Fixed usage of `volatile' qualifier in pointer context. + [Ralf S. Engelschall] + + *) Now check also for -Wno-long-long compiler option under + --enable-debug, because pth_string.c contains `long long' stuff. + [Ralf S. Engelschall] + + *) Now pth.h and pthread.h include the non-standard + header on brain-dead platforms (like AIX) to get the definition of + fd_set (which is required for the pth_select prototype). + [Ralf S. Engelschall, Stian Seeberg ] + + *) Fixed auto-configuration for ISC and Win32/Cygwin platforms. + [Ralf S. Engelschall, Giwon On ] + + *) Removed -L. from $(LDFLAGS) in Makefile.in, because this + is not required (libtool already takes care of this). + [Ralf S. Engelschall] + + *) Added a RPM spec file pth.spec which allows one to build RPM + packages directly from the Pth distribution tarball through a + simple `rpm -tb pth-1.X.Y.tar.gz' call. + [Daniel Richard G. ] + + *) Removed the too explicit `-m 644' from the libtool/shtool + installation command for libpth.la and instead use a `umask 022'. + The reason is because some platforms require the shared libraries + to be executable, so we cannot use an explicit mode. But we use the + umask to make sure we don't result in world or group writeable files. + [Ralf S. Engelschall, Daniel Richard G. ] + + *) Use full-path /sbin/sysctl in config.guess on FreeBSD because + not all users have /sbin in their $PATH. + [Jeff Trawick ] + + *) Added eight new I/O functions pth_{recv,recvfrom,send,sendto}[_ev](3) + which correspond to the counterparts in UNIX98 (SUSv2). + [Ralf S. Engelschall] + + *) Replaced for security reasons sprintf() and vsprintf() calls + with own pth_snprintf() and pth_vsnprintf() functions from the new + pth_string.c source. + [Ralf S. Engelschall] + + *) Speeded up pth_ring_t handling by inlining code and by maintaining + number of contained nodes explicitly to avoid an O(n) operation when + the number of elements are requested. + [Ralf S. Engelschall] + + *) Upgraded to GNU shtool 1.4.9 + [Ralf S. Engelschall] + + _ _____ + / | |___ / + | | |_ \ + | |_ ___) | + __|_(_)____/____________________________________________________________ + + Changes between 1.3.2 and 1.3.3 (24-Feb-2000 to 10-Mar-2000) + + *) Under Solaris and --enable-optimize we now also check for the + compiler option -fast which is supported by the Sun vendor compilers. + [Ralf S. Engelschall] + + *) Fixed AC_COMPILER_OPTION macro in aclocal.m4: it wasn't aware of + the fact that running gcc with not supported options just leads to a + warning (but gcc still compiles the test program and exists with a 0 + return value). + [Ralf S. Engelschall] + + *) Fixed semantics of pth_cond_notify() to match POSIX: if one + notifies a condition variable which has still no waiter, the notify + operation is a no-op. Previously the condition signal was remembered + until a waiter arrived. This is now no longer the case. + [Ralf S. Engelschall, Chris Leishman ] + + *) Allow pth_yield() to yield also to if is a + freshly spawned thread, i.e. in state PTH_STATE_NEW instead of + PTH_STATE_READY, directly after a pth_spawn. This allows one better + control under co-routine programming. + [Ralf S. Engelschall] + + *) Fixed internal pth_pqueue_delete() and pth_pqueue_tail() + functions to pth_pqueue.c for convinience reasons. + [Ralf S. Engelschall] + + *) API CHANGE: Changed pth_time(int,int) to pth_time(long,long) and + pth_timeout(int,int) to pth_timeout(long,long), because pth_time_t + is a struct timeval and this structure is defined always via two + long's and not just int's. + [Ralf S. Engelschall] + + *) Cleaned up source code even more by making sure "signed", + "unsigned" and "const" qualifiers are used correctly and + consistently. + [Ralf S. Engelschall] + + *) Changed default stack size from 32KB to 64KB, because + on Solaris and other platforms where one can set FD_SETSIZE to + values up to 65535 an fd_set is up to 8KB. Pth internally (in + the scheduler in pth_select_ev) has up to three fd_sets (up to + 24KB) on the stack, so a 32KB stack is too risky. Nevertheless + one can still spawn threads with smaller stacks by using + PTH_ATTR_STACK_SIZE, of course. Only the scheduler thread remains + with a 64KB stack, because this thread cannot be configured by the + application. + [Ralf S. Engelschall] + + *) Fixed "make depend": a backslash was missing. + [Edwin Brown ] + + *) Fixed "make install" for pth.m4 and the situation where + one compiles from a different sub-directory. + [Raphael Bossek ] + + Changes between 1.3.1 and 1.3.2 (20-Feb-2000 to 24-Feb-2000) + + *) Do no longer use -woff in CFLAGS for IRIX 6.5.2 and above. + [Edwin Brown , Ralf S. Engelschall] + + *) Replaced ``while (1)'' constructs with ``for (;;)'' because some + compilers like this more and do not warn about constant expressions. + [Ralf S. Engelschall] + + *) Added hint to pth.pod that ``pth_join(, NULL)'' is allowed. + [Ralf S. Engelschall] + + *) Cancel and join the ticker thread explicitly in test_select.c + [Edwin Brown , Ralf S. Engelschall] + + *) Removed unnecessary code in pth_event.c + [Edwin Brown , Ralf S. Engelschall] + + *) Add special namespace workarounds to pthread.h.in for HPUX + platforms where the pthread_kill() prototypes conflict without this. + [M. Lavasani , Ralf S. Engelschall] + + Changes between 1.3.0 and 1.3.1 (19-Feb-2000 to 20-Feb-2000) + + *) Added HISTORY document where we now write down the evolution + and release dates of Pth to have a concise history reference. + [Ralf S. Engelschall] + + *) Added USERS document where we now collect references to + software packages utilizing GNU Pth. + [Ralf S. Engelschall] + + *) Fixed a subtle typo in pth.pod about thread-safe functions + and finished documentation of pth_attr_set/pth_attr_get functions. + [James Robinson , Jeremie ] + + Changes between 1.3b3 and 1.3.0 (13-Feb-2000 to 19-Feb-2000) + + *) Polished the various document files. + [Ralf S. Engelschall] + + *) Use -w in $CFLAGS also on UnixWare 2.1, because its cc + complains about "not reached" situations because of our macros. + [Ralf S. Engelschall] + + *) Replaced "NOT REACHED" with "NOTREACHED" in comments + to be more correct for lint(1). + [Ralf S. Engelschall] + + *) Updated config.param and fixed its parsing procedure. + [Ralf S. Engelschall] + + *) Fixed a few typos in pth.pod and adjusted example program + to make sure it doesn't segfault accidently for the users. + [Tim Harris , Raphael Bossek + , Ralf S. Engelschall] + + Changes between 1.3b2 and 1.3b3 (28-Jan-2000 to 13-Feb-2000) + + *) Fixed PTH_EVENT_FUNC handling (it was not polled really + in regular intervals if there were no other FUNC events which + helped) by extending it with an interval time argument. This way + a PTH_EVENT_FUNC event is likewise a PTH_EVENT_TIME event which + calls the check function after elapsing and resets itself again if + it failed. + [Ralf S. Engelschall] + + *) Removed PTH_EVENT_PID because the waiting on a process id was not + working as expected (the polling was not done in intervals) and this + type of event doesn't really fit very well into the multi-threading + environment of Pth (where the events should be thread-related and not + process-related). So instead of fixing the pid waiting event handling + through some unclean workarounds or kludges (it cannot be done very + different), it was decided to kick it out at all. + [Ralf S. Engelschall] + + *) Make sure pth_connect[_ev]() doesn't block by internally + switching to non-blocking mode temporarily if necessary. + [Chris Leishman , Ralf S. Engelschall] + + *) Fix pthread_cond_timedwait by making it more POSIX compliant: + return ETIMEDOUT instead of 0 if the timeout occurred. + [Emanuele Fornara , Ralf S. Engelschall] + + Changes between 1.3b1 and 1.3b2 (26-Jan-2000 to 28-Jan-2000) + + *) Let "make striptease" be aware of $TMPDIR and remove temporary + directory from this dir, too. + [Ralf S. Engelschall] + + *) Again cleaned up and enhanced the manual page pth.pod. + [Ralf S. Engelschall] + + *) Added a few more errno_shield { ... } sections to prevent + the destruction of errno values on error returns. + [Ralf S. Engelschall] + + *) Added more complete Linux support for --enable-syscall-hard by + using SYS_socketcall+SOCKOP_{accept,connect} if + SYS_{accept,connect} doesn't exist. + [Ralf S. Engelschall] + + *) Added pth_suspend() and pth_resume together with an additional + SUSPENDED queue. This can be used to temporarily park threads in + order to move them out of the schedulers scope. + [Ralf S. Engelschall] + + Changes between 1.3a5 and 1.3b1 (15-Jan-2000 to 26-Jan-2000) + + *) Completely cleaned up the manual page. + [Eric Hanchrow ] + + *) Use SYS__newselect instead of SYS_select under Linux and + --enable-syscall-hard because SYS_select is a dummy stub which + always just returns -1 and errno = EFAULT. + [Artem Gr , Ralf S. Engelschall] + + Changes between 1.3a4 and 1.3a5 (08-Jan-2000 to 15-Jan-2000) + + *) Updated HACKING document. + [Ralf S. Engelschall] + + *) Removed '+DAportable' from HPUX flags to avoid problems. + [M. Lavasani ] + + *) Added a workround in Makefile.in (replaced "rm -r" with + "rm" + "rmdir") for brain-dead AmigaOS. + [Kriton Kyrimis ] + + *) Fixed example in Pth manual page: peer_len wasn't initialized. + [Sami Niemi , Ralf S. Engelschall] + + *) Fixed cleanup handling in test_sig.c. + [Ralf S. Engelschall] + + *) Fixed memory leaks in some test programs. + [Ralf S. Engelschall] + + Changes between 1.3a3 and 1.3a4 (08-Jan-2000 to 08-Jan-2000) + + *) Translated The Open Group's SUSv2 Threading HTML documentation + into POD format to form an appendix for pthread.pod. This is for + convinience reasons when programming with the Pthread API of GNU Pth. + [Ralf S. Engelschall] + + *) Fixed introduced debugging with "==== THREAD CONTEXT SWITCH ====" + lines. They were printed always. + [Ralf S. Engelschall] + + Changes between 1.3a2 and 1.3a3 (30-Dec-1999 to 08-Jan-2000) + + *) Added a PTH_CTRL_DUMPSTATE to pth_ctrl() which helps in debugging. + a pth_ctrl(PTH_CTRL_DUMPSTATE, stderr) for instance writes out a summary + page of the internal Pth library state to stderr. This is intended for + debugging purposes only, of course. + [Ralf S. Engelschall, Lubos Lunak ] + + *) Fixed destructor for statically initialized events which failed + under asynchronous cancellation if those events were merged + together at the time of cancellation. + [Igor A. Minyukoff, Ralf S. Engelschall] + + *) Updated the INSTALL document. + [Ralf S. Engelschall] + + *) Fixed a memory leak in pth_kill(): the TCBs (plus one + stack) of the main and scheduler thread were not freed. + [Pete , Ralf S. Engelschall] + + *) Added developer support for compiling and linking against the + Dmalloc library (for debugging memory allocation) through the + --with-dmalloc[=DIR] Autoconf option. + [Ralf S. Engelschall] + + *) Fixed pth_compat.c: the #define for strerror was buggy. + [Ralf S. Engelschall] + + Changes between 1.3a1 and 1.3a2 (09-Nov-1999 to 30-Dec-1999) + + *) Added first cut of experimental Win32 support through Cygwin B20.1. + [Ralf S. Engelschall, Schizoid ] + + *) Fixed autoheader step by using AC_CHECK_HEADERS() instead of + AC_CHECK_HEADER() because Autoconf's autoheader.m4 isn't aware of + AC_CHECK_HEADER(). + [Ralf S. Engelschall] + + *) Adjusted all copyright messages to include the forthcoming + new year 2000, too. + [Ralf S. Engelschall] + + *) Fixed $DIFS in pth-config.in and pthread-config.in + (the tab was lost) and cleaned up pth-config.in a little bit. + [Ralf S. Engelschall] + + *) Upgraded from GNU libtool 1.3.3 to 1.3.4 + and from GNU shtool 1.4.6 to 1.4.7. + [Ralf S. Engelschall] + + *) Fixed cleanup handling for main thread. Now pth_kill() + and pth_exit() in the main thread work as expected. + [Ralf S. Engelschall, Anton Umnikov ] + + *) Fixed Autoconf --host option. + [Ralf S. Engelschall, Kent Overstreet ] + + *) Fixed pth_mctx.c by making sure ss_base is mapped to ss_sp + only if sigaltstack(2) is used for the stack trick. + [Kriton Kyrimis ] + + *) Fixed return code semantics for error situation in both + pth_write(3) and pth_writev(3). + [Rob Quinn , Ralf S. Engelschall] + + *) Stripped trailing whitespaces from all source files. + [Ralf S. Engelschall] + + Changes between 1.2.0 and 1.3a1 (31-Oct-1999 to 09-Nov-1999) + + *) Changed AC_CHECK_STRUCTATTR macro from a too weak AC_TRY_EGREP to a + AC_TRY_LINK based approach to make sure the ss_sp/ss_base checks do not + fail on platforms where sys/signal.h contains both sigstack and + sigaltstack defines. + [Ralf S. Engelschall] + + *) Added a large "BUILD ENVIRONMENT" section to pth.pod which describes + three ways to establish build environments for Pth based packages. + [Ralf S. Engelschall] + + *) Updated the pth-config.pod and pthread-config.pod for + missing option entries. + [Ralf S. Engelschall] + + *) Added --datadir and --acdir options to pth-config. Especially + --acdir can be used in conjunction with Autoconf's aclocal program to + retrieve the AC_CHECK_PTH macro, e.g. aclocal --output- + --acdir=`pth-config --acdir` prints the macro definition to stdout. + [Ralf S. Engelschall] + + *) Added a new, very flexible and robust pth.m4 Autoconf macro file which + is installed under $datadir/aclocal/ and can be used by third-party + Autoconf scripts to locate GNU Pth. Syntax is: + AC_CHECK_PTH([MIN-VERSION [,DEFAULT-WITH-PTH [,DEFAULT-WITH-PTH-TEST + [,EXTEND-VARS [,ACTION-IF-FOUND [,ACTION-IF-NOT-FOUND]]]]]]). + [Ralf S. Engelschall, Markus Fischer ] + + *) Added PTH_VERSION_{STR,HEX} to pth.h + [Ralf S. Engelschall] + + *) Fixed AC_CHECK_EXTLIB macro. + [Ralf S. Engelschall] + + *) Added a new developer target `make striptease' which uses the + new striptease.{pl,mk} files to strip down the Pth source tree to a + minimum (approx. 1/3 of size). The generated striptease.dir/ area can be + then imported into third-party source trees and there blows up the stuff + only as minimal as possible. + [Ralf S. Engelschall] + + *) Cleaned up copyright messages in source files. + [Ralf S. Engelschall] + + *) Rewritten the Linux guessing part in config.guess to + create more useful GNU platform triples for Linux flavors. + [Ralf S. Engelschall] + + _ ____ + / | |___ \ + | | __) | + | |_ / __/ + __|_(_)_____|___________________________________________________________ + + Changes between 1.2.2 and 1.2.3 (08-Jan-2000 to 04-Feb-2000) + + *) Backport from Pth 1.3b3: + Fix pthread_cond_timedwait by making it more POSIX compliant: + return ETIMEDOUT instead of 0 if the timeout occurred. + [Emanuele Fornara , Ralf S. Engelschall] + + *) Backport from Pth 1.3b2: + Added more complete Linux support for --enable-syscall-hard by + using SYS_socketcall+SOCKOP_{accept,connect} if + SYS_{accept,connect} doesn't exist. + [Ralf S. Engelschall] + + *) Backport from Pth 1.3b2: + Added a few more errno_shield { ... } sections to prevent + the destruction of errno values on error returns. + [Ralf S. Engelschall] + + *) Backport from Pth 1.3b1: + Use SYS__newselect instead of SYS_select under Linux and + --enable-syscall-hard because SYS_select is a dummy stub which + always just returns -1 and errno = EFAULT. + [Artem Gr , Ralf S. Engelschall] + + *) Backport from Pth 1.3a5: + Removed '+DAportable' from HPUX flags to avoid problems. + [M. Lavasani ] + + *) Backport from Pth 1.3a5: + Added a workround in Makefile.in (replaced "rm -r" with + "rm" + "rmdir") for brain-dead AmigaOS. + [Kriton Kyrimis ] + + *) Backport from Pth 1.3a5: + Fixed example in Pth manual page: peer_len wasn't initialized. + [Sami Niemi , Ralf S. Engelschall] + + *) Backport from Pth 1.3a5: + Fixed memory leaks in some test programs. + [Ralf S. Engelschall] + + Changes between 1.2.1 and 1.2.2 (14-Nov-1999 to 08-Jan-2000) + + *) Backport from Pth 1.3a3: + Updated the INSTALL document. + [Ralf S. Engelschall] + + *) Backport from Pth 1.3a3: + Fixed a memory leak in pth_kill(): the TCBs (plus one + stack) of the main and scheduler thread were not freed. + [Pete , Ralf S. Engelschall] + + *) Backport from Pth 1.3a3: + Fixed pth_compat.c: the #define for strerror was buggy. + [Ralf S. Engelschall] + + *) Backport from Pth 1.3a3: + Fixed destructor for statically initialized events which failed + under asynchronous cancellation if those events were merged + together at the time of cancellation. + [Igor A. Minyukoff, Ralf S. Engelschall] + + *) Backport from Pth 1.3a2: + Upgraded from GNU libtool 1.3.3 to 1.3.4 + and from GNU shtool 1.4.6 to 1.4.7. + [Ralf S. Engelschall] + + *) Backport from Pth 1.3a2: + Fixed pth_mctx.c by making sure ss_base is mapped to ss_sp + only if sigaltstack(2) is used for the stack trick. + [Kriton Kyrimis ] + + Changes between 1.2.0 and 1.2.1 (31-Oct-1999 to 14-Nov-1999) + + *) Backport from Pth 1.3a2: + Fixed return code semantics for error situation in both + pth_write(3) and pth_writev(3). + [Rob Quinn , Ralf S. Engelschall] + + *) Backport from Pth 1.3a1: + Changed AC_CHECK_STRUCTATTR macro from a too weak AC_TRY_EGREP to a + AC_TRY_LINK based approach to make sure the ss_sp/ss_base checks do not + fail on platforms where sys/signal.h contains both sigstack and + sigaltstack defines. + [Ralf S. Engelschall] + + *) Backport from Pth 1.3a1: + Fixed AC_CHECK_EXTLIB macro. + [Ralf S. Engelschall] + + *) Backport from Pth 1.3a1: + Cleaned up copyright messages in source files. + [Ralf S. Engelschall] + + Changes between 1.2b8 and 1.2.0 (26-Oct-1999 to 31-Oct-1999) + + *) Finally tested the package on all major Unix platforms to which + I've direct access (see PORTING document for details). + [Ralf S. Engelschall] + + *) Fixed a few remaining typos in pth.pod; adjusted README file for + release and included ANNOUNCE document in source tree. + [Ralf S. Engelschall] + + *) Fixed special Autoconf detections for UnixWare 2.x platform. + [Ralf S. Engelschall] + + *) Fixed special Autoconf detections for Linux platforms. + [Ralf S. Engelschall] + + *) Updated INSTALL document. + [Ralf S. Engelschall] + + *) Added -w option to CFLAGS under HP-UX with CC. + [Ralf S. Engelschall] + + Changes between 1.2b7 and 1.2b8 (22-Oct-1999 to 26-Oct-1999) + + *) Fixed Pthread compilation under NetBSD 1.4 and Solaris. The pth.h + header has to skip the fallbacks (and not the pthread.h header) when + compiling pthread.c. This subtle difference is important because + ordering is important for correct namespace hiding. + [Ralf S. Engelschall, John A. Maier ] + + *) Greatly enhanced AC_CHECK_ARGTYPE macro to support more + vendor headers and their syntax. + [Ralf S. Engelschall] + + *) Added two new Autoconf options: --enable-maintainer for enabling + maintainer targets (now the x.pod -> x.N translation is disabled per + default and is enabled with this option only) and --enable-tests which + is on per default and can be used (as --disable-tests) to disable the + building of the test programs. + [Ralf S. Engelschall] + + *) Fixed autoheader processing with a new acheader.m4 file. + [Ralf S. Engelschall] + + *) Stripped down shtool script to 7 of 17 ingredients to reduce source + tree by approx. 40KB. + [Ralf S. Engelschall] + + *) Updated acconfig.h: HAVE_NFDS_T was missing. + [Ralf S. Engelschall] + + *) Fixed `make dist': CVS temporary files (.#xx) were included + into the distribution tarball. + [Ralf S. Engelschall] + + Changes between 1.2b6 and 1.2b7 (28-Sep-1999 to 22-Oct-1999) + + *) Add the .gdbinit file also to the distribution tarball. + [Ralf S. Engelschall] + + *) Re-acquire the mutex corresponding to a condition variable when + pth_cond_await() is cancelled, in order to restore the condition + variable semantics. + [Lubos Lunak ] + + *) Fixed cancellation point handling. + [Lubos Lunak ] + + *) Added support for poll(2)'s POSIX nfds_t argument type. + [Ralf S. Engelschall] + + *) Fixed AC_CHECK_ARGTYPE: it now handles wrapped lines, too. + [Ralf S. Engelschall] + + *) Fixed regex in aclocal.m4: tabs were expanded to spaced. + [Ralf S. Engelschall] + + *) Fixed a casting problem related to `void *' in pth_high.c + which g++ 2.95.1 hated. + [Ralf S. Engelschall] + + *) Replaced Autoconf AC_CHECK_FUNCS macro with an own local copy named + AC_CHECK_FUNCTIONS which _always_ uses ``extern "C"'' if __cplusplus is + defined. This way one can configure Pth even if $CC is a C++ compiler. + [Ralf S. Engelschall] + + *) Updated rse-pmt.ps document. + [Ralf S. Engelschall] + + *) Fixed a few typos in the manual page. + [Ralf S. Engelschall] + + *) Fixed aclocal.m4: CFXXLAGS -> CXXFLAGS ;) + [Alexandre Oliva ] + + Changes between 1.2b5 and 1.2b6 (21-Sep-1999 to 28-Sep-1999) + + *) Added platform support for GNU/Linux kernel 2.2 / glibc 2.1 + for both Alpha and Intel platforms via sjlj/ssjlj/sas. + (tested with both RedHat 6.0 and SuSE 6.1) + [Ralf S. Engelschall] + + *) Added platform support for Tru64/OSF1 4.x and 5.0. + [Ralf S. Engelschall] + + *) Added --prefix, --bindir, --libdir, --includedir and --mandir + options to pth-config and pthread-config. Mainly for convinience + and consistency reasons. + [Ralf S. Engelschall] + + *) Avoid compiler complains in pth_mctx.c for assigning a `volatile + sigset_t'. Instead use a plain memcpy() with sizeof(sigset_t). + This now makes also IRIX' 6.5 cc happy. + [Ralf S. Engelschall] + + *) Fixed the Autoconf AC_CHECK_MCSC check which tests whether + SVR4/SUSv2 makecontext(2), swapcontext(2) and friends can be used for + user-space context switching. It was broken because the uc_link and + uc_stack structure attributes were not initialized correctly. + [Ralf S. Engelschall, Ben Harris ] + + *) Updated dependencies in Makefile.in. + [Ralf S. Engelschall] + + *) Mention the new pth-users@gnu.org mailing list in SUPPORT + and added hint to Makefile.in. + [Ralf S. Engelschall] + + Changes between 1.2b4 and 1.2b5 (17-Sep-1999 to 21-Sep-1999) + + *) Added new Autoconf macro AC_COMPILER_OPTION which is now + used to check whether -pipe, -ggdb3 and -W really work + before they are implicitly used. + [Ralf S. Engelschall, Alexandre Oliva ] + + *) Make sure pthread.c compiles even if the platforms lacks `struct + timespec'. The pthread_cond_timedwait() function will then still be + unuseable by the application, of course. But that's the intended + behavour, because the Pthread API cannot be changed at this point. + [Michele Satriani , Ralf S. Engelschall] + + *) Document it more clearly that PTH_ATTR_DEFAULT is _not_ the values an + pth_attr_init() creates. It means that priority, joinability and + cancelstate are _inherited_. + [Eric Newton ] + + Changes between 1.2b3 and 1.2b4 (17-Sep-1999 to 17-Sep-1999) + + *) Fixed test_httpd.c: highest port is 65535 and not 65553 ;) + [Alex Fiori ] + + *) Fix Makefile.in: $(S)shtool -> $(srcdir)shtool + [Ben Harris , Ralf S. Engelschall] + + *) Make Rhapsody happy with pth_errno.c by statically initializing + the contained variables. + [Ben Harris , Ralf S. Engelschall] + + Changes between 1.2b2 and 1.2b3 (04-Sep-1999 to 17-Sep-1999) + + *) Added first cut of support for building Pth outside it's source tree. + [Ben Harris , Ralf S. Engelschall] + + *) Updated pth.pod for new socklen_t usage and updated NEWS file. + [Ralf S. Engelschall] + + *) Officially switched from ``GNU Library General License v2.0'' + to successor license: ``GNU Lesser General License v2.1''. + [Ralf S. Engelschall] + + *) Enhanced ss_sp to ss_base mapping: There is now Autoconf + support for the mapping decision. + [Ralf S. Engelschall, Ben Harris ] + + *) Add `PTHREAD' also to defines for namespace protection. + [Hans v. Sommerfeld ] + + *) Made the temporary errno saving more elegant with a new + `errno_shield { .... }' construct. + [Ralf S. Engelschall] + + *) Upgraded to GNU shtool 1.4.6 + [Ralf S. Engelschall] + + Changes between 1.2b1 and 1.2b2 (02-Sep-1999 to 04-Sep-1999) + + *) Ported Pth to another esoteric, anchient and brain-dead + platform which needs jmp_buf fiddling: Interactive Unix (ISC) 4.0. + [Ralf S. Engelschall, Brandon Reynolds ] + + *) Make sys/resource.h an optional header. + [Ralf S. Engelschall] + + *) Added CPPFLAGS to Makefile.in and configure.in + [Ralf S. Engelschall] + + Changes between 1.1.4 and 1.2b1 (30-Aug-1999 to 02-Sep-1999) + + *) Added TESTS document which shows success stories with + Apache, MySQL, Perl, Python, OpenLDAP, pident, etc. + [Ralf S. Engelschall] + + *) Enhanced pth-config/pthread-config scripts: first they + are now concatenating the output of the options into a single + string and print this at the end once. This way one can use things + like LIBS="`pthread-config --ldflags --libs`" without getting an + intermediate newline which causes trouble in various packages. + Second per default only pth-specific CFLAGS/LDFLAGS/LIBS are + printed. If one wants also additional flags one has used while + building Pth one now can add the --all option. This is to avoid + conflicts between Pth flags and flags of the application. + [Ralf S. Engelschall] + + *) Added -w to CFLAGS for Solaris if $CC is not GCC to avoid the + warnings about "end of loop not reached" because of our + ``do { ...return;... } while(0)'' macros. + [Ralf S. Engelschall] + + *) Fixed two bugs in internal pth_pqueue_delete() and one in + pth_pqueue_insert(): it accidently also adjusted the priority + queue top element if one deleted the last element of the queue and it + calculated the priority of the following element incorrectly. + [Jens Andersen , Ralf S. Engelschall] + + *) Optimized the signal mask handling: The application is now required to + use pth_sigmask(3) and no longer can use sigprocmask(2) directly + (as it's already the case for Pthreads where POSIX states that the + behaviour of sigprocmask(2) is not defined in a MT application). + The side-effect of this consistencency restriction is that + internally the machine context switching no longer has to remember + the signal mask on _every_ context switch. It's now sufficient + that pth_sigmask(3) sets the mask to allow the scheduler to + calculate its own mask. The result is a faster and more clean + thread dispatching. Additionally a soft and hard syscall mapping + for sigprocmask(2) was added, of course. + [Ralf S. Engelschall] + + *) Added support for socklen_t to both avoid warnings under + some platforms and to avoid problems on 64 bit machines. + [Ralf S. Engelschall] + + *) Added UnixWare7 support to config.guess + [Ralf S. Engelschall] + + *) Added config.param facility. + [Ralf S. Engelschall] + + *) Cleaned up bootstrap stuff from configure.in and moved it to aclocal.m4. + [Ralf S. Engelschall] + + *) Fixed autoconf's `--silent' flag: it wasn't passed to ltconfig.sh + [Ralf S. Engelschall] + + *) Rewritten the "make test" message and refreshed the PORTING file to + start with a new format which now includes also the machine context and + stack growth direction. + [Ralf S. Engelschall] + + *) Enhanced the interactive (not --enable-batch) mode: The Makefile now + displays real hints what to do as the next step. All messages can + be disabled via --enable-batch, of course. + [Ralf S. Engelschall] + + *) Fixed aclocal.m4: Tabs were lost by accident. + [Ralf S. Engelschall] + + *) Fixed a type warning in pth_debug.c: pid_t vs. int + [Ralf S. Engelschall] + + _ _ + / | / | + | | | | + | |_| | + __|_(_)_|_______________________________________________________________ + + Changes between 1.1.5 and 1.1.6 (02-Sep-1999 to 28-Sep-1999) + + *) Backport from Pth 1.2b6: + Fixed the Autoconf AC_CHECK_MCSC check which tests whether + SVR4/SUSv2 makecontext(2), swapcontext(2) and friends can be used for + user-space context switching. It was broken because the uc_link and + uc_stack structure attributes were not initialized correctly. + [Ralf S. Engelschall, Ben Harris ] + + *) Backport from Pth 1.2b5: + Document it more clearly that PTH_ATTR_DEFAULT is _not_ the values an + pth_attr_init() creates. It means that priority, joinability and + cancelstate are _inherited_. + [Eric Newton ] + + *) Backport from Pth 1.2b4: + Fixed test_httpd.c: highest port is 65535 and not 65553 ;) + [Alex Fiori ] + + *) Backport from Pth 1.2b4: + Make Rhapsody happy with pth_errno.c by statically initializing + the contained variables. + [Ben Harris , Ralf S. Engelschall] + + *) Backport from Pth 1.2b3: + Add `PTHREAD' also to defines for namespace protection. + [Hans v. Sommerfeld ] + + *) Upgraded to GNU shtool 1.4.6 + [Ralf S. Engelschall] + + Changes between 1.1.4 and 1.1.5 (30-Aug-1999 to 02-Sep-1999) + + *) Backport from Pth 1.2b1: + Enhanced pth-config/pthread-config scripts: first they + are now concatenating the output of the options into a single + string and print this at the end once. This way one can use things + like LIBS="`pthread-config --ldflags --libs`" without getting an + intermediate newline which causes trouble in various packages. + Second per default only pth-specific CFLAGS/LDFLAGS/LIBS are + printed. If one wants also additional flags one has used while + building Pth one now can add the --all option. This is to avoid + conflicts between Pth flags and flags of the application. + [Ralf S. Engelschall] + + *) Backport from Pth 1.2b1: + Fixed two bugs in internal pth_pqueue_delete() and one in + pth_pqueue_insert(): it accidently also adjusted the priority + queue top element if one deleted the last element of the queue and it + calculated the priority of the following element incorrectly. + [Jens Andersen , Ralf S. Engelschall] + + *) Backport from Pth 1.2b1: + Added -w to CFLAGS for Solaris if $CC is not GCC to avoid the + warnings about "end of loop not reached" because of our + ``do { ...return;... } while(0)'' macros. + [Ralf S. Engelschall] + + *) Backport from Pth 1.2b1: + Fixed autoconf's `--silent' flag: it wasn't passed to ltconfig.sh + [Ralf S. Engelschall] + + *) Backport from Pth 1.2b1: + Fixed aclocal.m4: Tabs were lost by accident. + [Ralf S. Engelschall] + + *) Backport from Pth 1.2b1: + Fixed a type warning in pth_debug.c: pid_t vs. int + [Ralf S. Engelschall] + + Changes between 1.1.3 and 1.1.4 (27-Aug-1999 to 30-Aug-1999) + + *) Changed internal handling of spawned threads: they are now really + inserted to the top of the priority queue to make sure a thread is + guarrantied to be dispatched next when one calls pth_yield(NULL) + directly after a pth_spawn(). This is especially interesting for + programming with the co-routine paradigm where it allows one to better + control the startup of a co-routine. + [Ralf S. Engelschall, Jens Andersen ] + + *) Fixed pthread_cancel(): a switch statement was incorrect (three + breaks were missing to stop falling through). + [Jens Andersen ] + + *) Change internal `_pthread' prefix to `__pthread'. + [Ralf S. Engelschall] + + *) Enhanced backward compatibility stuff for Pthread draft 4 (DCE Threads) + in pthread.h.in: When _POSIX_BACKCOMPAT is defined before the pthread.h + header is included one now gets a lot more backward compatibility + mappings. + [Ralf S. Engelschall] + + *) Optimize internal processing by inlining various small functions from + pth_ring.c, pth_pqueue.c and pth_sched.c which are called a lot. + [Ralf S. Engelschall] + + *) Optimized readline() in test_common.c + [Ralf S. Engelschall] + + *) Added specific support for Linux/glibc/mc68000 to pth_mctx.c + [Roman Hodek ] + + *) Updated INSTALL document for --enable-optimize. + [Ralf S. Engelschall] + + Changes between 1.1.2 and 1.1.3 (23-Aug-1999 to 27-Aug-1999) + + *) Enhanced test program of AC_CHECK_STACKGROWTH in aclocal.m4 to + make sure the test variables are not optimized away by the + compiler and this way lead to incorrect check results. + [Martin Kraemer , Ralf S. Engelschall] + + *) Fixed default stack size: was 32*16384 (=512KB) instead + of the intended 32*1024 (=32KB). + [Ralf S. Engelschall] + + *) Added --enable-optimize flag to configure with selected + standard optimization flags of GCC. + [Ralf S. Engelschall] + + *) Added SUPPORT file to source tree. + [Ralf S. Engelschall] + + *) Added test_philo, Dijkstra's Five Dining Philosophers ;) + [Ralf S. Engelschall] + + *) Add "auto" qualifier to PTH_STACKGROWTH test program + to make sure the variables are placed into the stack. + [Ralf S. Engelschall] + + *) Use predetermined $PLATFORM of configure also in Makefile + [Ralf S. Engelschall] + + Changes between 1.1.1 and 1.1.2 (21-Aug-1999 to 23-Aug-1999) + + *) Fixed Makefile.in: pth_acdef.h and pth_acmac.h were not removed on + "distclean" and this way they were accidently distributed. + [Ralf S. Engelschall] + + *) Changed return type of pth_yield() from `void' to `int' to + be able to return an error FALSE/EINVAL in case the `tid' + argument specified an invalid or still not ready thread. + [Kurt D. Zeilenga , Ralf S. Engelschall] + + *) Fixed description of pth_yield() in pth.pod. + [Kurt D. Zeilenga , Ralf S. Engelschall] + + Changes between 1.1.0 and 1.1.1 (19-Aug-1999 to 21-Aug-1999) + + *) Changed pthread_yield_np() from `void' return type to `int' to allow the + `#define sched_yield pthread_yield_np' work as expected, because + sched_yield has `int' return type per SUSv2. + [Kurt D. Zeilenga , Ralf S. Engelschall] + + *) Fixed problems related to pthread_exit() and pth_exit(): The + PTH_EVENT_FUNC internally was used incorrectly by pth_exit() and the + implicit initialization was forgotten in pthread_exit(). + [Kurt D. Zeilenga , Ralf S. Engelschall] + + *) Added consistency check for `timeout' attribute of pth_poll + and various other EINVAL related checks to pth_event.c. + [Ralf S. Engelschall] + + *) Added consistency check for `abstime' attribute of + pthread_cond_timedwait(). + [Ralf S. Engelschall] + + Changes between 1.1b7 and 1.1.0 (18-Aug-1999 to 19-Aug-1999) + + *) Disable vendor typedefs in pthread.h.in because + it caused problems under Solaris. + [Ralf S. Engelschall] + + *) Cleaned up the sources a little bit more. + [Ralf S. Engelschall] + + *) Updated rse-pmt.ps to v0.9.15 + [Ralf S. Engelschall] + + Changes between 1.1b6 and 1.1b7 (18-Aug-1999 to 18-Aug-1999) + + *) Added test for nested thread operation to test_std.c + [Ralf S. Engelschall] + + *) Updated rse-pmt.ps to talk about the sigsetjmp(3) problems. + [Ralf S. Engelschall] + + *) Enhanced the heart of Pth: pth_mctx_set(). + Instead of the real dispatching functions a plain setjmp(3)/longjmp(3) + pair is used for the trampoline trick in order to avoid problems with + sigjmp_buf-attached signal stacks on platforms where sigsetjmp(3) does + more than it is usuallly expected. This especially fixes `thread spawns + thread' problems under HPUX. + [Ralf S. Engelschall, Aaron Metzger ] + + Changes between 1.1b5 and 1.1b6 (17-Aug-1999 to 18-Aug-1999) + + *) Fixed return value of pth_write/pth_read. + [Eric Newton , Ralf S. Engelschall] + + *) Fixed example in manual page (pth.pod): pth_load() + is now pth_ctrl(PTH_CTRL_GETAVLOAD, ...) + [Eric Newton ] + + *) Fixed warning in pth_high.c related to implicit casting. + [Ralf S. Engelschall] + + *) Added BS2000 support to config.guess/config.sub. + [Martin Kraemer] + + *) Fixed a sigaltstack() call in pth_mctx.c: the return code + was checked incorrectly. + [Ralf S. Engelschall] + + *) Updated rse-pmt.ps + [Ralf S. Engelschall, Eric Newton ] + + *) Fixed a nasty bug in the thread stack allocation: A stack was also + allocated for the main thread, but not used. The problem was that an + allocated stack has a guardian and this way was checked each time and + could lead to a bogus STACK OVERFLOW for the "main" thread. + [Ralf S. Engelschall, Martin Kraemer] + + Changes between 1.1b4 and 1.1b5 (13-Aug-1999 to 17-Aug-1999) + + *) Added draft of forthcoming paper ``Portable Multithreading - The Signal + Stack Trick Of User-Space Thread Creation'' to source tree under + rse-pmt.ps. Hackers are encouraged to read this if they want to + understand Pth's internals. + [Ralf S. Engelschall] + + *) Source cleanups: added `extern' qualifier to function prototypes in + pth.h.in and pthread.h.in; make compilation silent with both gcc 2.95.1 C + and C++ frontends by fixing implicit type conversion situations, etc. + [Ralf S. Engelschall] + + *) Return EBUSY instead of EAGAIN for pth_mutex_acquire() when the "try" + argument is TRUE. This fixes especially the POSIX semantics of + pthread_mutex_trylock(). + [Ralf S. Engelschall] + + *) Added pth_compat.c with strerror(3) replacement for SunOS. + [Ralf S. Engelschall] + + *) Fixed pthread_{mutex,rwlock,cond}_destroy() functions. + [Ralf S. Engelschall] + + *) Added support for `configure '. + [Ralf S. Engelschall, Martin Kraemer ] + + Changes between 1.1b3 and 1.1b4 (11-Aug-1999 to 13-Aug-1999) + + *) Fixed blocking semantics of pth_writev(). + [Ralf S. Engelschall] + + *) Fixed a very nasty bug in pth_select(): The write fd_set was passed + twice to the scheduler (once as the write fd_set and once as the + execptional fd_set). This caused problems, because the event loop this + way deleted bits in the write fd_set by accident and the return semantic + was broken. + [Ralf S. Engelschall] + + *) Added fallbacks for UIO_MAXIOV to pth.h and pthread.h + [Ralf S. Engelschall] + + *) Remove locking check in pth_mutex_init() because this would only work + with static vars where ANSI C guarranties an initialization with 0 + bytes. + [Martin Kraemer ] + + *) Fixed pth_write() semantics. + [Ralf S. Engelschall] + + Changes between 1.1b2 and 1.1b3 (10-Aug-1999 to 11-Aug-1999) + + *) Overhauled pthread.h to make it better compile-able also under + platforms where a vendor Pthread library exists. + [Ralf S. Engelschall] + + *) Reordered ingredients of configure.in. + [Ralf S. Engelschall] + + *) Fixed aclocal.m4: -g was incorrectly stripped. + [Ralf S. Engelschall] + + *) Enhance pth_write(): In non-blocking (default) mode it now mimics the + behaviour of write(2) more correctly by iterating until all data is + written or an error occurs. + [Ralf S. Engelschall] + + Changes between 1.1b1 and 1.1b2 (07-Aug-1999 to 10-Aug-1999) + + *) Fixed ring walking inside both public pth_msgport_find() function and + the internal pth_mutex_releaseall() function. + [Laurent Vaucher ] + + Changes between 1.0.4 and 1.1b1 (03-Aug-1999 to 07-Aug-1999) + + *) Fixed test_select.c: a char has to be used for read(2) and not an int. + [Ralf S. Engelschall] + + *) Fixed AC_CHECK_NSIG test and this way PTH_NSIG define. + [Ralf S. Engelschall] + + *) Overhauled pth_mctx.c's internals according to latest algorithm of my + paper ``Portable Multithreading - The Signal Stack Trick For User-Space + Thread Creation''. Especially: sigstack had not restored stack + correctly, the signal mask was not inherited correctly; Linux + signal mask handling was incorrect, etc. + [Ralf S. Engelschall] + + *) Adjusted variables in pth_mctx.c to use `volatile' qualifier. + [Ralf S. Engelschall] + + *) Simplified Makefile.in a little bit by removing $(OBJS) + [Ralf S. Engelschall] + + *) Replaced the run-time stack growth decision for the guardian in + pth_tcb.c with a compile-time decision. + [Ralf S. Engelschall] + + *) Completly rewritten the configure.in part which deals + with the machine context (mctx) implementation: First SVR4/SUSv2 + makecontext(2) and friends are generally preferred. Second, the user + now can override the decisions via --with-mctx-{mth,dsp,stk}. Third, the + pth_mctx.c source was enhanced by using skaddr_xxx() and sksize_xxx() + macros which know through Autoconf checks how a stack has to be setup + correctly for makecontext(2), sigaltstack(2) and sigstack(2). + [Ralf S. Engelschall] + + *) Add support to pth_mctx.c for SVR4/SUSv2 makecontext(2)/swapcontext(2) + and friends. This way Pth now is best prepared to cover forthcoming Unix + flavors, because these are didicated and standadized functions for + user-space context switching. + [Ralf S. Engelschall] + + *) Completely overhauled aclocal.m4 + [Ralf S. Engelschall] + + *) Use GNU config.guess/config.sub instead of GNU shtool guessos + for wider support inside GNU libtool. + [Ralf S. Engelschall] + + *) Replaced switch() over long variables (which aren't covered by + traditional C) with an if-else construct in pth_event.c to be more + portable. + [Ralf S. Engelschall] + + *) Fixed timeout handling in pth_select(). + [Ralf S. Engelschall] + + *) Don't free(2) application-supplied stacks on cleanups. + [Ralf S. Engelschall] + + *) Don't allow an application to change the stack size or address on an + pth_attr_t object when its attached to a thread (see pth_attr_of). + [Ralf S. Engelschall] + + *) Added pth_ext.c for extensional functionality. As a first + cut Sfio support is provided by an additional function pth_sfiodisc. + This functions is always available, but only reasonably useable when Pth + was built with Sfio support (--with-sfio option) and PTH_EXT_SFIO is + then defined by pth.h. It is useful for applications which want to use + the comprehensive Sfio I/O library with the Pth threading library. Then + this function can be used to get an Sfio discipline structure (Sfdisc_t) + which can be pushed onto Sfio streams (Sfio_t) in order to let this + stream use pth_read(3)/pth_write(2) instead of read(2)/write(2). The + benefit is that this way I/O on the Sfio stream does only block the + current thread instead of the whole process. The application has to + free(3) the Sfdisc_t structure when it is no longer needed. + [Ralf S. Engelschall] + + *) Added `barrier' synchronization objects. These provide a way to let a + group of threads wait at a barrier until the last reached the barrier. + It's implemented on top of mutex and condition variable. + [Ralf S. Engelschall] + + *) Replaced a bogus stdio fgetc() in test_select with pth_read(). + [Ralf S. Engelschall] + + *) Fixed internal pth_debug(3): it now preserved errno to make sure there + is no run-time difference in semantics just because of debug messages. + [Ralf S. Engelschall] + + *) Overhauled the filedescriptor handling: + 1. There is no longer a requirement to manually switch a filedescriptor + into non-blocking mode in order to use it. This is automatically done + temporarily inside Pth now. Instead when you now switch a filedescriptor + explicitly into non-blocking mode, pth_read(3) or pth_write(3) will + never block the current thread as it is the expected behaviour for + non-blocking I/O. + 2. pth_nonblocking(3) was replaced by a more convinient pth_fdmode(3) + function which can perform both get and set operations at once. + [Ralf S. Engelschall] + + _ ___ + / | / _ \ + | || | | | + | || |_| | + __|_(_)___/_____________________________________________________________ + + Changes between 1.0.4 and 1.0.5 (03-Aug-1999 to 10-Aug-1999) + + *) Backport from Pth 1.1b2: + Fixed ring walking inside both public pth_msgport_find() function + and the internal pth_mutex_releaseall() function. + [Laurent Vaucher ] + + *) Backport from Pth 1.1b1: + In pth_mctx.c the signal stack was not restored correctly. + [Ralf S. Engelschall] + + *) Backport from Pth 1.1b1: + Fixed test_select.c: a char has to be used for read(2) and not an int. + And replaced a bogus stdio fgetc() in test_select with pth_read(). + [Ralf S. Engelschall] + + *) Backport from Pth 1.1b1: + Fixed AC_CHECK_NSIG test and this way PTH_NSIG define. + [Ralf S. Engelschall] + + *) Backport from Pth 1.1b1: + Fixed timeout handling in pth_select(). + [Ralf S. Engelschall] + + Changes between 1.0.3 and 1.0.4 (30-Jul-1999 to 03-Aug-1999) + + *) Fixed two read/write calls: they didn't use the pth_sc wrapper. + [Ralf S. Engelschall] + + *) Make pth_{read,write}() functions more POSIX compliant by returning 0 + when the nbytes argument is given as 0. And make pth_{readv,writev}() + functions more POSIX compliant by returning -1/EINVAL when the iovcnt + argument is less or equal to 0. + [Ralf S. Engelschall] + + *) Added missing readv/writev wrappers to pthread.c + [Ralf S. Engelschall] + + *) Typo fixes in pth.pod + [Eric Newton ] + + *) Fixed special `--disable-static --enable-shared' situation. + [Felix von Leitner , Ralf S. Engelschall] + + *) Fixed `debug-xx' targets. + [Ralf S. Engelschall] + + Changes between 1.0.2 and 1.0.3 (28-Jul-1999 to 30-Jul-1999) + + *) Fixed inconsistent and wrong API value: PTH_ATTR_NULL existed and was + documented as PTH_ATTR_NONE. But actually the intended and intuitive + value was PTH_ATTR_DEFAULT. !BE CAREFUL: This is an API change and + requires adjustments in Pth applications! + [Ralf S. Engelschall, Eric Newton ] + + *) Make sure pthread.h.in doesn't redefine the poll(2) environment + under built-time because it's already defined by the included pth.h. + [Kriton Kyrimis ] + + *) Add readv/writev environment fallback definitions to pthread.h.in. + [Ralf S. Engelschall] + + *) Support for AmigaOS in pthreads.c: timespec attributes have (correct) + ts_ prefix under AmigaOS and not the (bogus) POSIX tv_ prefix + [Kriton Kyrimis ] + + *) Add `#include ' for struct timespec to pthread.h.in + and removed timespec references in pth.h.in. + [Ralf S. Engelschall] + + *) Fixed documentation for pth_spawn() and pth_wait(). + [Ralf S. Engelschall, Eric Newton ] + + Changes between 1.0.1 and 1.0.2 (22-Jul-1999 to 28-Jul-1999) + + *) Upgraded to GNU shtool 1.4.5. + [Ralf S. Engelschall] + + *) Added `uninstall' target to Makefile + [Ralf S. Engelschall] + + *) Cleanup package to conform to the GNU standards: added AUTHORS document; + renamed CHANGES to ChangeLog and added NEWS document; renamed LICENSE to + COPYING; renamed CREDITS to THANKS; added hint to bug-pth@gnu.org to + pth.pod manual. + [Ralf S. Engelschall] + + *) Fixed HAVE_SIGSTACK alternative in pth_mctx.c + [Jim Jagielski ] + + *) Removed internal "was_blocking" attribute in event structure + because it was never used. + [Ralf S. Engelschall] + + *) Fixed documentation of pth_xxx_init() synchronization functions. + [Ralf S. Engelschall] + + Changes between 1.0.0 and 1.0.1 (16-Jul-1999 to 22-Jul-1999) + + *) Added missing documentation for pth_timeout(). + [Ralf S. Engelschall] + + *) Moved pthread_p{read,write}() to pth_high.c as pth_p{read,write}() + and added syscall wrapper support for it. + [Ralf S. Engelschall] + + *) Added support for readv(2) and writev(2): There are now + four new API functions pth_readv, pth_readv_ev, pth_writev and + pth_writev_ev. Additionally on platforms where no native + readv(2)/writev(2) exists, the struct iovec is faked and the internal + implementation is based on read(2)/write(2). This way the functionality + is available everywhere. Finally, the syscall support was extended to + cover readv and writev now, too. + [Ralf S. Engelschall] + + *) Added support for FNDELAY to pth_nonblocking. + [Ralf S. Engelschall] + + *) Cleaned up pthread.h and pth.h and added extra forward definitions for + struct timeval/timespec to avoid problems on some platforms (like SCO). + [Ralf S. Engelschall] + + *) Added "make check" as an alias for "make test" + [Ralf S. Engelschall] + + *) Upgraded to GNU shtool 1.4.4 and use new `shtool tarball' + [Ralf S. Engelschall] + + Changes between 1.0b8 and 1.0.0 (16-Jul-1999 to 16-Jul-1999) + + *) Fixed scheduler reinitialization. + [Ralf S. Engelschall] + + *) Upgraded to GNU shtool 1.4.4-dev. + [Ralf S. Engelschall] + + *) Cleaned up syscall stuff: usleep() is not longer mapped because it's too + unstandardized, sigwait() is again mapped because it is standardized and + those platforms which fail are broken. + [Ralf S. Engelschall] + + *) Fixed pthread-config.in: -lpth => -lpthread + [Ralf S. Engelschall] + + *) Downgraded required Autoconf version to 2.12 + [Ralf S. Engelschall] + + *) Moved pth_readline[_ev]() from the Pth API into test_common.c because + this function is just a half-way solution (pth_read doesn't use the same + buffer) and when one needs buffered I/O it's better to use a _real_ I/O + library like Sfio, etc. + [Ralf S. Engelschall] + + *) Cleanup to Makefile.in + [Ralf S. Engelschall] + + Changes between 1.0b7 and 1.0b8 (14-Jul-1999 to 16-Jul-1999) + + *) Fixed result handling of stack growth detection. + [Ralf S. Engelschall, Frank Carpenter ] + + *) Added explicit libtool --mode flags in Makefile.in + to avoid compiler guessing problems on esoteric platforms. + [Ralf S. Engelschall] + + *) Fixed broken condition variable handling: the scheduler + incorrectly checked the condition variable flags. + [Ralf S. Engelschall, Andrew Hunter ] + + *) Allow main thread to be joinable to fulfill POSIX. + [Ralf S. Engelschall] + + *) Fixed a nasty bug in the scheduler: the write and exceptional + filedescriptor sets were not passed to the select(): ARGL! + [Ralf S. Engelschall] + + *) Added implicit initialization to pth_syscall.c stuff + and pthread.c stuff. + [Ralf S. Engelschall] + + *) Fixed again static initializations via PTHREAD_XXX_INITIALIZER + [Ralf S. Engelschall] + + *) Fixed again PTHREAD_ONCE_INIT + [Ralf S. Engelschall] + + *) Added PTHREAD_CANCELED to pthread.h. + [Ralf S. Engelschall] + + *) Fixed POSIX pthread_testcancel(): it is defined to have + void return type and not int. + [Ralf S. Engelschall] + + Changes between 1.0b6 and 1.0b7 (14-Jul-1999 to 14-Jul-1999) + + *) Replaced FALSE value for PTHREAD_ONCE_INIT in pthread.h with 0 to + be not dependent on such defines. + [Ralf S. Engelschall, Rick Brownrigg] + + *) Disabled syscall soft mapping for usleep because it causes prototype + conflicts with unistd.h on some platforms due to the fact that usleep(3) + is bad standardized. + [Ralf S. Engelschall, Rick Brownrigg] + + *) Added pthread_cancel() to POSIX emulation. + [Ralf S. Engelschall, Rick Brownrigg] + + *) Fixed poll(2)/poll.h detection in Autoconf. + [Ralf S. Engelschall, Igor A. Minyukoff ] + + Changes between 1.0b5 and 1.0b6 (11-Jul-1999 to 14-Jul-1999) + + *) Fixed pth_attr_ctrl(): it failed with EACCES because + of incorrect comparisons + [Igor A. Minyukoff ] + + *) Replaced PTHREAD_{MUTEX,COND,RWLOCK}_INITIALIZER with an alternative + implementation to allow the assignment to `static' variables, too. + [Ralf S. Engelschall, Rick Brownrigg ] + + Changes between 1.0b4 and 1.0b5 (08-Jul-1999 to 11-Jul-1999) + + *) Fixed pth_waitpid() semantics. + [Ralf S. Engelschall] + + *) Added pth_poll() and pth_poll_ev() with the following trick: it is always + present (independent whether the platform has poll(2) or not), because it + is (AND HAS TO BE) internally based on pth_select(). The poll function + wrapping support was added, too. + [Ralf S. Engelschall] + + *) Moved pth_init() to the top of all test applications. + [Ralf S. Engelschall] + + *) Added direct system call mapping support: --enable-syscall-soft + enables #define's in pth.h and pthread.h which do a soft-mapping of e.g. + read to pth_read. This is _always_ possible. --enable-syscall-hard + enables the exportation of syscall wrappers (e.g. read) by the Pth + library and the calling of the real system calls via syscall(2), hence + this variant is only available when the platform supports syscall(2) + [e.g. yes: *BSD, Linux, Solaris, HP/UX, IRIX, UnixWare; no: AIX, SCO5] + + For the soft variant the whole application sources have to include + pth[read].h and existing libraries (like stdio!) can still block the + whole process, while for the hard variant the application sources do not + all have to include pth[read].h an existing libraries (including stdio!) + magically use Pth's system call wrappers. + [Ralf S. Engelschall] + + *) Speeded up `configure --help' by not creating the header + [Ralf S. Engelschall] + + *) Added pth_select_ev() and pth_select() based on the new PTH_EVENT_SELECT + and the old PTH_EVENT_TIME events which emulate 4.2BSD's select(2), but + suspend only the current thread. Additionally added a select() wrapper to + the POSIX wrapper API. + [Ralf S. Engelschall] + + *) Added PTH_EVENT_SELECT which can be used to suspend the current thread + until an event occured in one of three fd _sets_ similar to select(2) but + without the timeout facility. + [Ralf S. Engelschall] + + *) Upgraded to GNU shtool 1.4.3. This especially fixes + the shared library generation under GNU/Linux now. + [Ralf S. Engelschall] + + *) Added pth_abort() and a corresponding pthread_abort() + for cruel ways to cancel a thread. + [Ralf S. Engelschall] + + *) Fixed POSIX pread()/pwrite(): Their mutex variables have + to be static variables and not local variables. + [Ralf S. Engelschall] + + *) Added #define for POSIX sched_yield() to pthread.h.in + [Ralf S. Engelschall] + + Changes between 1.0b3 and 1.0b4 (07-Jul-1999 to 08-Jul-1999) + + *) Added POSIX pread() and pwrite() [parallel I/O] emulation + functions to pthread.{ch]. + [Ralf S. Engelschall] + + *) Removed double-definition of the fallback types in pthread.h.in. + [Ralf S. Engelschall] + + *) Added pthread_atfork() to pthread.c + [Ralf S. Engelschall] + + *) Added pth_atfork_{push,pop}() functions and moved them together with + pth_fork() to a new pth_fork.c source files. Updated also the + documentation to describe the new at-fork handlers. + [Ralf S. Engelschall] + + *) Write still missing documentation for pth_cleanup_{push,pop}() + [Ralf S. Engelschall] + + *) Fixed again pth_event_concat(): The last attempt was + to inefficient and still had a bug. + [Igor A. Minyukoff , Ralf S. Engelschall] + + *) Cleaned up all name references: The official long name is `GNU Portable + Threads', the official short name is `GNU Pth' and the common prefix is + `pth_' and `PTH_'. + [Ralf S. Engelschall] + + Changes between 1.0b2 and 1.0b3 (04-Jul-1999 to 07-Jul-1999) + + *) Remove a trailing comma inside an enum in pthread.h.in + [Martin Kraemer ] + + *) Added two new API event-related functions which can be used to extract + the contents of existing events: pth_event_typeof() and + pth_event_extract(). + [Ralf S. Engelschall] + + *) Fixed pth_event_concat(): It was broken because it + handled real/non-single-event event rings not correctly. + [Igor A. Minyukoff , Ralf S. Engelschall] + + *) Fixed pth_event_walk(): It was broken for PTH_WALK_NEXT + [Igor A. Minyukoff , Ralf S. Engelschall] + + *) Fixed memory leak in pth_join() + [Igor A. Minyukoff ] + + *) Fixed manual page pthread-config.pod + [Ralf S. Engelschall] + + *) Upgraded to GNU shtool 1.4.1 and GNU libtool 1.3.3 + [Ralf S. Engelschall] + + *) Fixed test_pthread.c: sleep(3) requires unistd.h + [Ralf S. Engelschall, Martin Kraemer ] + + *) Cleaned up --enable-batch/--enable-pthread + [Ralf S. Engelschall] + + Changes between 1.0b1 and 1.0b2 (28-Jun-1999 to 04-Jul-1999) + + *) Upgraded to GNU shtool 1.4.0 + [Ralf S. Engelschall] + + *) Changed return value type of pth_version() from "int" to "long" + to avoid problems with too large numbers. + [Ralf S. Engelschall] + + *) Simplified internal representation of pth_once_t + [Ralf S. Engelschall] + + *) !!ATTENTION!! Renamed _anything_ from the old + coding-name nps/NPS to the new official name pth/PTH. + [Ralf S. Engelschall] + + *) Added the new POSIX.1c pthread emulation library + (pthread* files). It has to be enabled explicitly + via --enable-pthread because it's disabled per default) + [Ralf S. Engelschall] + + *) Enhanced pthread.pod manual page. + [Ralf S. Engelschall] + + Changes between 0.9.21 and 1.0b1 (25-Jun-1999 to 28-Jun-1999) + + *) Added internal pth_util_cpystrn() to pth_util.c + [Ralf S. Engelschall] + + *) removed pth_attr(), pth_priority(), pth_detach() + [Ralf S. Engelschall] + + *) added new pth_attr_*() functions for manipulating pth_attr_t objects; + this is now more flexible because those objects now can be also bound to + threads when retrieved via pth_attr_of(). THIS IS A HEAVY BUT IMPORTANT + API CHANGE! READ THE DOCS AND THE TEST PROGRAMS FOR DETAILS. SORRY, BUT + IS HAS TO BE DONE BEFORE WE ENTER THE STABLE 1.0 VERSIONS. + [Ralf S. Engelschall] + + *) Added --enable-profile and --enable-batch to Autoconf + [Ralf S. Engelschall] + + *) Updated pth.pod to reflect latest changes. + [Ralf S. Engelschall] + + *) Renamed pth_state_* to upper case names. + [Ralf S. Engelschall] + + *) Moved pth_sigmask() to pth_high.c + [Ralf S. Engelschall] + + *) Renamed pth_sigraise() to pth_raise() and added support for + per-thread signal delivery via pth_raise(). + [Ralf S. Engelschall] + + *) Renamed pth.c to pth_lib.c + [Ralf S. Engelschall] + + *) Upgraded to GNU shtool 1.3.1 + [Ralf S. Engelschall] + + *) Added pth_version() function + [Ralf S. Engelschall] + + *) Added a real test Makefile target via new test_std.c + [Ralf S. Engelschall] + + *) Added more references to pth.pod + [Ralf S. Engelschall] + + ___ ___ + / _ \ / _ \ + | | | | (_) | + | |_| |\__, | + ___\___(_) /_/__________________________________________________________ + + Changes between 0.9.20 and 0.9.21 (24-Jun-1999 to 25-Jun-1999) + + *) Upgraded to final shtool 1.3.0 release version + [Ralf S. Engelschall] + + *) Removed all variables names from prototypes to avoid conflicts + [Ralf S. Engelschall] + + *) Removed unnecessary casts for malloc() calls. + [Ralf S. Engelschall] + + *) Added pth_sigraise() function for later implementing pthread_kill() and + currently at least for testing whether a thread still exists in the + system (by sending it a signal 0). + [Ralf S. Engelschall] + + *) Renamed remaining XXX_INITIALIZER to XXX_INIT to be consistent with + other init values. + [Ralf S. Engelschall] + + *) Prefixed all pth_attr_t attributes with "at_" + [Ralf S. Engelschall] + + *) Removed pth_equal(): we're not such crazy than POSIX... + [Ralf S. Engelschall] + + Changes between 0.9.19 and 0.9.20 (21-Jun-1999 to 24-Jun-1999) + + *) Upgraded to latest shtool 1.3.0-dev + [Ralf S. Engelschall] + + *) Changed pth_yield(void) to pth_yield(pth_t) to allow the specification of + a thread which should be favored. This allows the usage of the old + concept of co-routines where a thread/routine switches to a particular + target thread. + [Ralf S. Engelschall] + + *) Added hint about async-safety to pth.pod + [Ralf S. Engelschall] + + *) Added POSIX-style consistency wrapper pth_sigmask() for sigprocmask(). + [Ralf S. Engelschall] + + *) Added try argument to pth_mutex_acquire() to allow us later to + emulate POSIX pthread_mutex_trylock() + [Ralf S. Engelschall] + + *) Moved errno stuff to a new dedicated pth_errno.c source file + [Ralf S. Engelschall] + + *) Changed function signatures to support return codes with errno + [Ralf S. Engelschall] + + *) pth_exit(val) in the main() thread now really just terminated the thread + and not immediately the process, i.e. the thread goes sleeping until all + other threads are gone and then does an exit(val). + [Ralf S. Engelschall] + + Changes between 0.9.18 and 0.9.19 (20-Jun-1999 to 21-Jun-1999) + + *) Added a POSIX style pth_detach() + [Ralf S. Engelschall] + + *) Added pth_sync.c with POSIX style mutual exclusion locks (mutex), + read-write locks (rwlock) and condition variable (cond) support + [Ralf S. Engelschall] + + *) Added a trivial mutex demo to test_misc.c + [Ralf S. Engelschall] + + Changes between 0.9.17 and 0.9.18 (18-Jun-1999 to 20-Jun-1999) + + *) Greatly extended the manual page pth.pod + [Ralf S. Engelschall] + + *) Added inclusion hack to pthread.h.in + [Ralf S. Engelschall] + + *) Added per thread cleanup functions pth_cleanup_{push,pop}() modeled + directly after the POSIX pthread_cleanup_{push,pop}() functions + [Ralf S. Engelschall] + + *) Fixed a memory leak related to pth_key_xxx(). + [Ralf S. Engelschall] + + *) Added internal pth_pqueue_contains() function + [Ralf S. Engelschall] + + *) Added public API function pth_cancel(), pth_cancel_state() and + pth_cancel_point() for thread cancellation support modeled after the + POSIX thread cancellation facility. + [Ralf S. Engelschall] + + *) Removed pthread.* stuff. It will be re-integrated later for Pth 1.1.x + [Ralf S. Engelschall] + + *) Added cancellation flags to pth_attr(). + [Ralf S. Engelschall] + + *) Added cancellation demo support to test_sig.c + [Ralf S. Engelschall] + + Changes between 0.9.16 and 0.9.17 (09-Jun-1999 to 18-Jun-1999) + + *) Removed pthread_p.h + [Ralf S. Engelschall] + + *) Upgraded to latest shtool 1.3.0-dev + [Ralf S. Engelschall] + + *) Added stack overflow detection: a SIGSEGV is created when a + guardian memory address at the bottom of the stack was + overridden. This SIGSEGV can be even catched by the + application. + [Ralf S. Engelschall] + + Changes between 0.9.15 and 0.9.16 (04-Jun-1999 to 09-Jun-1999) + + *) Some Autoconf related cleanups. + [Ralf S. Engelschall] + + *) Added configure --enable-batch for FreeBSD port + [Ralf S. Engelschall] + + *) Removed TODO file + [Ralf S. Engelschall] + + *) Moved sigdelete stuff to new pth_util.c source + [Ralf S. Engelschall] + + *) Added pth_sigwait_ev() + [Ralf S. Engelschall] + + *) Updated pth.pod for recent changes + [Ralf S. Engelschall] + + *) Fixed GNU/Linux libc v5 pth_mctx_set() variant + [Ralf S. Engelschall, Felix von Leitner ] + + Changes between 0.9.14 and 0.9.15 (01-Jun-1999 to 04-Jun-1999) + + *) Upgraded to shtool 1.2.9 + [Ralf S. Engelschall] + + *) Avoid race conditions in emulated sigsetjmp() switching + [Ralf S. Engelschall] + + *) Added test_sig.c + [Ralf S. Engelschall] + + *) Fixed getsockopt() call: errlen wasn't initialized + [Ralf S. Engelschall, Anton Umnikov ] + + *) Allow pth_event_walk() also to use PTH_UNTIL_OCCURRED + to walk to the next/prev. occurred event in a ring + [Ralf S. Engelschall] + + *) Completely overhauled the signal processing in the scheduler + [Ralf S. Engelschall] + + *) Added pth_sigwait() with POSIX semantics + [Ralf S. Engelschall] + + *) Fixed pth_join(): It returns -1 when only one thread is left + [Ralf S. Engelschall] + + *) Autoconf now no longer adds -g for gcc unless --enable-debug + [Ralf S. Engelschall] + + Changes between 0.9.13 and 0.9.14 (01-Jun-1999 to 01-Jun-1999) + + *) Simplified the event construction by removing unnecessary PTH_UNTIL_XX + flags and renaming the remaining ones to PTH_UNTIL_YY_XXX. + [Ralf S. Engelschall] + + *) Renamed PTH_EVENT_IRQ to PTH_EVENT_SIG and implemented it the first time + via sigpending()/sigismember(). + [Ralf S. Engelschall] + + *) Documented the event facility in the manual page + [Ralf S. Engelschall] + + *) Switched TCB's name attribute from "char *" to "char[40]" and copy in the + value when spawning. This allows applications to generate the name + temporarily only. + [Ralf S. Engelschall] + + *) Cleaned up source code at lots of edges... + [Ralf S. Engelschall] + + Changes between 0.9.12 and 0.9.13 (30-May-1999 to 01-Jun-1999) + + *) Cleaned up Makefile.in even more + [Ralf S. Engelschall] + + *) Add stackaddr argument to pth_attr() to allow the application + to specificy a particular stack + [Ralf S. Engelschall] + + *) Added pthread* files which will contain the POSIX.1c threading + ("pthread") API wrapper for PTH. This is still work in progress and not + enabled per default (one has to use --enable-pthread). + [Ralf S. Engelschall] + + *) Added SunSoft's pthread_June95.ps document ("PThreads Summary") + as pthreads.ps + [Ralf S. Engelschall] + + *) Update pth.pod to reflect recent changes. + [Ralf S. Engelschall] + + *) Optimized pth_time_cmp() + [Ralf S. Engelschall] + + *) Added support for per-thread signal masks + [Ralf S. Engelschall] + + *) Made pth_mctx_set() more robust: It now uses sigsuspend for + waiting, correctly blocks signals and restores SIGUSR1 stuff + [Ralf S. Engelschall] + + *) Fixed license messages in sources files + [Ralf S. Engelschall] + + *) Removed const from pth_connect and pth_connect_ev to avoid problems + [Ralf S. Engelschall] + + *) Make sure Autoconf doesn't add -lnsl twice + [Ralf S. Engelschall] + + *) Cleaned up pth_mctx.c even more + [Ralf S. Engelschall] + + Changes between 0.9.11 and 0.9.12 (28-May-1999 to 30-May-1999) + + *) Some fixes to test_httpd.c: init of addrlen, REQ_MAX handling + [Ralf S. Engelschall] + + *) Allow pth_join(NULL) to join any available terminated thread + [Ralf S. Engelschall] + + *) Fixed incorrect pth_event_concat() usages: terminated NULL was missing + [Ralf S. Engelschall] + + *) Added pth_connect, pth_connect_ev and pth_accept_ev functions + [Ralf S. Engelschall] + + *) Removed unnecessary b_extra stuff from pth_read/pth_write + [Ralf S. Engelschall] + + *) Removed "intern" on pth_time(), it's a public API function + [Ralf S. Engelschall] + + *) Added pth_timeout() constructor function + [Ralf S. Engelschall] + + *) Fixed event handling for all pth_xxx_ev() functions + [Ralf S. Engelschall] + + *) Use pth_readline_ev() in test_mp to show how pth_xxx_ev() works + [Ralf S. Engelschall] + + *) Converted pth_nap() and pth_join() to use PTH_MODE_STATIC + [Ralf S. Engelschall] + + *) Fixed event initialization in event rings + [Ralf S. Engelschall] + + *) Kicked out the whole "occurred event ring" stuff because it's not really + necessary (one can walk through a single ring and check for occurred + events easily) and this way two nasty bugs can be fixed and the event + manager simplified a lot. pth_wait() not has only one argument + and this is a read-only one, i.e. only the occured flag is set + in the events in this ring, but the ring is no longer changed. + [Ralf S. Engelschall] + + Changes between 0.9.10 and 0.9.11 (28-May-1999 to 28-May-1999) + + *) Fix warnings in test_httpd.c + [Ralf S. Engelschall] + + *) Upgraded to final shtool 1.2.8 + [Ralf S. Engelschall] + + *) Added PTH_KEY_INIT + [Ralf S. Engelschall] + + *) Added PTH_MODE_STATIC for statically allocating + a per-thread event. This is now used by the various high-level functions + to avoid unnecessary alloc/free sequences. + [Ralf S. Engelschall] + + Changes between 0.9.9 and 0.9.10 (25-May-1999 to 28-May-1999) + + *) Cleaned up Makefile.in + [Ralf S. Engelschall] + + *) Upgraded to GNU libtool 1.3.2 + [Ralf S. Engelschall] + + *) Upgraded to new shtool 1.2.8 which includes scpp + [Ralf S. Engelschall] + + *) Merged all pth_foo.h's into pth_foo.c's with the help of shtool scpp + [Ralf S. Engelschall] + + *) Updated dependencies after pth_p.h overhauling + [Ralf S. Engelschall] + + *) Added TODO file + [Ralf S. Engelschall] + + Changes between 0.9.8 and 0.9.9 (24-May-1999 to 25-May-1999) + + *) Finally converted library generation to use GNU libtool + [Ralf S. Engelschall] + + *) Add hints to BIND 8 and adns to manual page + [Ralf S. Engelschall] + + *) Fixed memory leaks in test_httpd and test_mp + [Ralf S. Engelschall, Flux ] + + *) Fixed typos in manual page + [Ralf S. Engelschall] + + *) Fix -lsocket -lnsl tests for Siemens platforms + [Ralf S. Engelschall] + + *) Fix chmod in Autoconf stuff + [Ralf S. Engelschall] + + *) Removed unneccessary pth_ring_linked() + [Ralf S. Engelschall] + + Changes between 0.9.7 and 0.9.8 (23-May-1999 to 24-May-1999) + + *) Fixed bug in priority queue element counting (q_num) + [Ralf S. Engelschall] + + *) pth_spawn() now inherits the attributes from the parent thread + [Ralf S. Engelschall] + + *) Merged pth_stat() and pth_load() into a generic extensible pth_ctrl() + [Ralf S. Engelschall] + + *) Added new pth_fork() function + [Ralf S. Engelschall] + + *) Added depend target to Makefile.in and generated dependencies + [Ralf S. Engelschall] + + *) Moved joinable argument from pth_attr() to the flags argument + [Ralf S. Engelschall] + + *) Added PTH_CTRL_GETPRIO and PTH_CTRL_GETNAME. + [Ralf S. Engelschall] + + *) Typo was everywhere: preemtive => preemptive + [Ralf S. Engelschall] + + *) Typo was everywhere: occured => occurred + [Ralf S. Engelschall] + + *) Finished manual page + [Ralf S. Engelschall] + + *) Removed useless PTH_UNTIL_RUNNING + [Ralf S. Engelschall] + + *) Replaced errno support with a better variant + [Ralf S. Engelschall] + + *) Lots of small fixes and portability cleanups + [Ralf S. Engelschall] + + Changes between 0.9.6 and 0.9.7 (22-May-1999 to 23-May-1999) + + *) Added PORTING document. + [Ralf S. Engelschall] + + *) Added errno support (pth_errno.[ch]). + [Ralf S. Engelschall] + + *) Added exponential average load calculations for scheduler. The current + load value can be retrieved by the application through pth_load(). + [Ralf S. Engelschall] + + Changes between 0.9.5 and 0.9.6 (21-May-1999 to 22-May-1999) + + *) Added more documentation. + [Ralf S. Engelschall] + + *) Autoconf now determines the direction of stack grow and pth_mctx_set() + uses this information for sigstack() now. + [Ralf S. Engelschall] + + *) Fixed acconfig.h + [Ralf S. Engelschall] + + *) Increased stacksizes (was too small for Solaris and friends) + [Ralf S. Engelschall] + + *) Switched from BSD-style license to LGPL license + [Ralf S. Engelschall] + + *) Fixed a nasty bug in scheduler: + when a thread was moved from the wait to the ready queue, it's state + wasn't changed to pth_state_ready. This way the next time it was handled + it was incorrectly filed to the waiting queue (which caused core dumps + because the ev_waiting/ev_occurred pointers didn't exist). This way now + the stuff works great also under Solaris! + [Ralf S. Engelschall] + + Changes between 0.9.4 and 0.9.5 (21-May-1999 to 21-May-1999) + + *) Renamed pth_{get,set}specific() to pth_key_{get,set}data(). + [Ralf S. Engelschall] + + *) Renamed remaining pth_message_xxx() to pth_msgport_xxx() + [Ralf S. Engelschall] + + *) Added pth_{readline,read,write}_ev() functions which are similar to + pth_{readline,read,write}() but have an additional event argument which + can be used for timeouts and other parallel events. + [Ralf S. Engelschall] + + Changes between 0.9.3 and 0.9.4 (14-May-1999 to 21-May-1999) + + *) Added ring datastructures (pth_ring.[ch]). + [Ralf S. Engelschall] + + *) Add an AmigaOS-style message port facility (pth_msg.[ch]). + [Ralf S. Engelschall] + + *) Added a message port related test program (test_mp.c). + [Ralf S. Engelschall] + + *) Fix scheduler event management bug: when no I/O events existed + plus a next timer but other events (e.g. message ports) already occurred, + the scheduler blocked instead of handling the already occurred events + first. + [Ralf S. Engelschall] + + *) Fix bug in event creating: the event occurrence flag has to be cleared in + pth_wait() to avoid spinning events which were already occurred. + [Ralf S. Engelschall] + + Changes between 0.9.2 and 0.9.3 (14-May-1999 to 14-May-1999) + + *) Added pth_once() for later (pthreads!) + [Ralf S. Engelschall] + + *) Splitted pth.c into pth.c and pth_high.c + [Ralf S. Engelschall] + + *) Added pth_data.[ch] with pthread style data storage stuff + [Ralf S. Engelschall] + + *) Moved readline stuff from test_httpd to pth_high.c as pth_readline() + [Ralf S. Engelschall] + + *) Removed debugging fprintf from test_httpd to speed it up + [Ralf S. Engelschall] + + *) Fixed listen() call: now uses REQ_MAX for backlog and tests for -1 + [Ralf S. Engelschall] + + *) Fix a polling-related timer bug in the event manager + [Ralf S. Engelschall] + + Changes between 0.9.1 and 0.9.2 (13-May-1999 to 14-May-1999) + + *) renamed pth_asynchronize() to pth_nonblocking() + [Ralf S. Engelschall] + + *) removed implicit pth_nonblocking() calls + [Ralf S. Engelschall] + + *) speeded up pth_accept by optimizing event alloc/free + [Ralf S. Engelschall] + + *) cleaned up pth_waitpid + [Ralf S. Engelschall] + + *) Changed semantics of pth_wait(var, NULL): it now means + that the events in var are not removed (although their + chanining might be changed) + [Ralf S. Engelschall] + + *) Renamed internal pth_usleep() to pth_time_usleep() + [Ralf S. Engelschall] + + *) Replaced pth_sleep() with pth_nap() and added + two replacement functions: pth_sleep() for a variant + of sleep(3) and pth_usleep() for a variant of usleep(3). + [Ralf S. Engelschall] + + *) Optimized scheduler a little bit by inlining pth_time_{set,add,sub} + [Ralf S. Engelschall] + + *) Added pth_pqueue_{head,walk} functions and used it in eventmanager + [Ralf S. Engelschall] + + *) Rewrote pth_sched_eventmanager() without a surrounding loop + [Ralf S. Engelschall] + + *) Implemented a readline() function to speedup test_httpd + [Ralf S. Engelschall] + + Changes between 0.9.0 and 0.9.1 (12-May-1999 to 13-May-1999) + + *) Imported into CVS repository + [Ralf S. Engelschall] + + Changes between GENESIS and 0.9.0 (Feb-1999 to 12-May-1999) + + *) Created initial version on FreeBSD + [Ralf S. Engelschall] + + *) Ported to Linux + [Ralf S. Engelschall] +