Update.
[glibc.git] / linuxthreads / Changes
blob8ec26c9a67af51822b7d5f2683844791f123687b
1 Release 0.7:
2 - Destructors for thread-specific data now conform to the POSIX semantics
3   (call destructors again if non-NULL TSD remains after a round of
4    destruction).
5 - Implemented thread-specific data as a sparse array, allows more TSD keys
6   and smaller thread descriptors (Ulrich Drepper).
7 - Added "error checking" mutexes.
8 - Protect against multiple sigwait() on the same signals.
9 - Simplified implementation of semaphores when compare_and_swap is 
10   not available.
11 - Fixed bug in fork() where stdin was closed if fork() was called before
12   the first pthread_create().
13 - Fixed bug in the gethostby*_r functions (bad result if null bytes
14   in addresses).
15 - Typos in manual pages corrected.
16 - First cut at a PowerPC port (not working yet, runs into problems
17   with gcc and with the C library).
19 Release 0.6:
20 - Validation of thread identifiers: no more crashes when operating on
21   a thread that has exited (based on Pavel Krauz's ideas).
22 - Added fallback implementation of semaphores for the 386 and the
23   Sparc. 
24 - Fixed a bug in signal handling causing false restarts of suspended
25   threads.
26 - Fixed a bug in realtime scheduling causing all threads to have
27   default scheduling on Ix86 with libc5.
28 - With realtime scheduling, unlocking a mutex now restarts the
29   highest priority thread waiting on the mutex, not the
30   first-suspended thread (Richard Neitzel).
31 - Timing a process now returns cumulative times for all threads, not
32   just times for the initial thread (suggested by Wolfram Gloger).
33 - Cleaned up name space (internal defs prefixed by __, weak aliases
34   for non-portable extensions).
35 - MIPS port (contributed by Ralf Baechle).
37 Release 0.5:
38 - Signal-safe semaphores a la POSIX 1003.1b added.
39 - Locking bug in pthread_mutex_trylock over recursive mutexes fixed.
40 - Race conditions in thread cancellation fixed.
41 - Sparc port (contributed by Miguel de Icaza).
42 - Support for getpwnam_r and getpwuid_r.
43 - Added pthread_kill_other_threads_np to be used in conjunction with
44   exec*().
46 Release 0.4:
47 - Manual pages for all functions.
48 - Synchronization bug causing accumulation of zombie processes fixed.
49 - Race condition in pthread_cond_timedwait fixed.
50 - Recursive mutexes are back by popular demand.
51 - Partial support for realtime scheduling (initiated by Richard Neitzel).
52 - pthread.h cleaned up a lot: now C++ compatible, added missing "const" 
53   qualifiers, added short documentation, put to GNU libc standards
54   for name space pollution (Ulrich Drepper).
55 - Motorola 68k port (contributed by Andreas Schwab).
56 - Interaction with fork(2) cleaned up a lot.
58 Release 0.3:
59 - Thread creation and reclaimation now performed by a centralized
60   "thread manager" thread.
61 - Removed recursive mutexes to make regular mutexes more efficient.
62 - Now available as a shared library (contributed by Richard Henderson).
63 - Alpha port (contributed by Richard Henderson).
64 - Fixed many small discrepancies with Posix 1003.1c.
65 - Put under the LGPL instead of the GPL.
67 Release 0.2:
68 - Reentrant libc functions (adapted from libc 5.3.9 by Peeter Joot)
69 - pthread_cond_wait did not reacquire the mutex correctly on return
70 - More efficient pthread_cond_broadcast
72 Release 0.1:
73 - First public release