Changes:
* fixed: pthread_kill() does not restore the critical level when given
signal number is zero.
* New API: POSIX readdir_r.
* fixed: interruption by a signal whose handler is SIG_SIGWAIT_NP may
cause infinite loop.
* fixed: PTL's internal SIGSEGV handler gets strange arguments on a
system that has POSIX-based signal facility.
new ARM based machines (tested on CATS) and others.
Roll on CONFIG_GUESS_OVERRIDE.
This fixes part of pkg/16389 from Richard Earnshaw <rearnsha@arm.com>
changes are:
2001-03-02 Kota ABE <k-abe@media.osaka-cu.ac.jp>
* include/setjmp.h: change the name of struct _sigjmp_buf into
struct _ptl_sigjmp_buf. FreeBSD 4.2R's <machine/setjmp.h> defines
the same struct.
2000-12-07 Kota ABE <k-abe@media.osaka-cu.ac.jp>
* src/io_api.c (read_timedwait): fixed: infinite loop when READ()
returns with EIO. (<hsaitoh@nts.ricoh.co.jp>).
* src/io_api.c (readv_timedwait): ditto.
first component is now a package name+version/pattern, no more
executable/patchname/whatnot.
While there, introduce BUILD_USES_MSGFMT as shorthand to pull in
devel/gettext unless /usr/bin/msgfmt exists (i.e. on post-1.5 -current).
Patch by Alistair Crooks <agc@netbsd.org>
out of date - it was based on a.out OBJECT_FMT, and added entries in the
generated PLISTs to reflect the symlinks that ELF packages uses. It also
tried to be clever, and removed and recreated any symbolic links that were
created, which has resulted in some fun, especially with packages which
use dlopen(3) to load modules. Some recent changes to our ld.so to bring
it more into line with other Operating Systems also exposed some cracks.
+ Modify bsd.pkg.mk and its shared object handling, so that PLISTs now contain
the ELF symlinks.
+ Don't mess about with file system entries when handling shared objects in
bsd.pkg.mk, since it's likely that libtool and the BSD *.mk processing will
have got it right, and have a much better idea than we do.
+ Modify PLISTs to contain "ELF symlinks"
+ On a.out platforms, delete any "ELF symlinks" from the generated PLISTs
+ On ELF platforms, no extra processing needs to be done in bsd.pkg.mk
+ Modify print-PLIST target in bsd.pkg.mk to add dummy symlink entries on
a.out platforms
+ Update the documentation in Packages.txt
With many thanks to Thomas Klausner for keeping me honest with this.
Changes:
* fixed: priority queue, used in condition variable, mutex and join,
might corrupt if multiple threads of different priority are blocking
on the same queue.
* fixed: fopen() and fdopen() do not unlock the mutex for the stdio.
Changes from 2.1.5:
* src/io.c (fcntl): support nonblocking I/O.
* src/sleep.c (sleep): change return type and the argument of
sleep() from int to unsigned.
* src/cond.c: add unrenamed pthread_cond_timedwait().
* include/pthread.h: fix the prototype of pthread_cond_timedwait().
Changes:
* Add wait3() and wait4().
* fixed: wait() or waitpid() might not return even after a child
process exits.
* fixed: bug in close() and pipe().
* fixed: processes might hang up if a signal interrupts within a
critical region.
Changes between 2.1.3 and 2.1.4:
* fixed: a bug causes stack overflow if the process is interrupted by
a UNIX signal frequently.
* fixed: sigwait() causes SIGSEGV.
* deferred cancellation is processed within BSD socket APIs.
Changes from 2.1.2:
* src/mutex.c: Now pthread_mutex_lock() is NOT a cancellation
point, as POSIX requires.
* src/sched.c (_pthread_block): check cancellation status before
making the calling thread block.
* add call to pthread_testcancel() to a lot of cancellation point
functions.
* src/mutex.c, src/cond.c: fixed: mutex and cv chain can be
corrupted.
Changes between PTL2-current-990622 and PTL-2.1.2
* support NetBSD/arm32.
* fix a configure.in bug which fails if $MACHINE != $MACHINE_ARCH.
* src/io_udp.c (send_timedwait, sendto_timedwait,
sendmsg_timedait): While underlying system calls return with
EWOULDBLOCK, continue writing.
* src/signal.c (_pthread_signal_init): On system that PTL can set
the stack pointer without using sigstack(), SIGUSR2 can be used
for user's purpose.
* src/internal.h (END_CRITICAL): fixed: signal interruptions are
lost in certain situation theoretically.
* src/io.c: use O_NONBLOCK rather than O_NDELAY in SunOS5.
* Util/Makefile.in: version number of libPTL.so is changed to 2.0.
* src/specific.c (pthread_key_create, pthread_setspecific): if
fail to allocate the memory, returns ENOMEM.
* src/cond.c, src/mutex.c, include/sys/types.h: pthread_mutex_t
and pthread_cond_t are changed from `pointer to struct' to
`struct'.
* src/cond-attr.c, include/sys/types.h: pthread_condattr_t is
changed from integer handle to struct.
* src/cond.c, src/mutex.c, src/pthread.c:
pthread_{mutex_,cond_,}setname_np returns ENOMEM if malloc()
returns NULL.
* src/cancel.c (pthread_setcancelstate): if FLAG_CLEANUP_HANDLER
is set, do not call pthread_exit() even if PTHREAD_CANCEL_ENABLE
is specified and the thread is already cancel requested.
(pthread_testcancel): similar to above.
* src/internal.h (FLAG_CLEANUP_HANDLER): this flag shows that the
thread is currently executing cleanup handlers.
* src/sched.c (after_csw): Clear FLAG_DO_CANCEL flag before
executing cleanup handlers to prevent entering executing cleanup
handlers loop.
* src/io.c (_pthread_pdb_iostat): Implement `iostat' command into
PDB.