📄 changelog
字号:
[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 <Jens@trw.nl>, 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 <bjh21@cam.ac.uk>] *) 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 <ecn@smart.net>] *) Backport from Pth 1.2b4: Fixed test_httpd.c: highest port is 65535 and not 65553 ;) [Alex Fiori <alex@linuxbr.com>] *) Backport from Pth 1.2b4: Make Rhapsody happy with pth_errno.c by statically initializing the contained variables. [Ben Harris <bjh21@cam.ac.uk>, Ralf S. Engelschall] *) Backport from Pth 1.2b3: Add `PTHREAD' also to defines for namespace protection. [Hans v. Sommerfeld <snoopy@redbaron.bir.uunet.de>] *) 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 <Jens@trw.nl>, 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 <Jens@trw.nl>] *) Fixed pthread_cancel(): a switch statement was incorrect (three breaks were missing to stop falling through). [Jens Andersen <Jens@trw.nl>] *) 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 <Roman.Hodek@informatik.uni-erlangen.de>] *) 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 <martin.kraemer@mch.sni.de>, 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 <Kurt@OpenLDAP.Org>, Ralf S. Engelschall] *) Fixed description of pth_yield() in pth.pod. [Kurt D. Zeilenga <Kurt@OpenLDAP.Org>, 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 <Kurt@OpenLDAP.Org>, 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 <Kurt@OpenLDAP.Org>, 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 <ametzger@varcom.com>] Changes between 1.1b5 and 1.1b6 (17-Aug-1999 to 18-Aug-1999) *) Fixed return value of pth_write/pth_read. [Eric Newton <ecn@smart.net>, Ralf S. Engelschall] *) Fixed example in manual page (pth.pod): pth_load() is now pth_ctrl(PTH_CTRL_GETAVLOAD, ...) [Eric Newton <ecn@smart.net>] *) 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 <ecn@smart.net>] *) 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 <platform-id>'. [Ralf S. Engelschall, Martin Kraemer <Martin.Kraemer@mch.sni.de>] 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 che
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -