Changes 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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).
  18. Release 0.6:
  19. - Validation of thread identifiers: no more crashes when operating on
  20. a thread that has exited (based on Pavel Krauz's ideas).
  21. - Added fallback implementation of semaphores for the 386 and the
  22. Sparc.
  23. - Fixed a bug in signal handling causing false restarts of suspended
  24. threads.
  25. - Fixed a bug in realtime scheduling causing all threads to have
  26. default scheduling on Ix86 with libc5.
  27. - With realtime scheduling, unlocking a mutex now restarts the
  28. highest priority thread waiting on the mutex, not the
  29. first-suspended thread (Richard Neitzel).
  30. - Timing a process now returns cumulative times for all threads, not
  31. just times for the initial thread (suggested by Wolfram Gloger).
  32. - Cleaned up name space (internal defs prefixed by __, weak aliases
  33. for non-portable extensions).
  34. - MIPS port (contributed by Ralf Baechle).
  35. Release 0.5:
  36. - Signal-safe semaphores a la POSIX 1003.1b added.
  37. - Locking bug in pthread_mutex_trylock over recursive mutexes fixed.
  38. - Race conditions in thread cancellation fixed.
  39. - Sparc port (contributed by Miguel de Icaza).
  40. - Support for getpwnam_r and getpwuid_r.
  41. - Added pthread_kill_other_threads_np to be used in conjunction with
  42. exec*().
  43. Release 0.4:
  44. - Manual pages for all functions.
  45. - Synchronization bug causing accumulation of zombie processes fixed.
  46. - Race condition in pthread_cond_timedwait fixed.
  47. - Recursive mutexes are back by popular demand.
  48. - Partial support for realtime scheduling (initiated by Richard Neitzel).
  49. - pthread.h cleaned up a lot: now C++ compatible, added missing "const"
  50. qualifiers, added short documentation, put to GNU libc standards
  51. for name space pollution (Ulrich Drepper).
  52. - Motorola 68k port (contributed by Andreas Schwab).
  53. - Interaction with fork(2) cleaned up a lot.
  54. Release 0.3:
  55. - Thread creation and reclaimation now performed by a centralized
  56. "thread manager" thread.
  57. - Removed recursive mutexes to make regular mutexes more efficient.
  58. - Now available as a shared library (contributed by Richard Henderson).
  59. - Alpha port (contributed by Richard Henderson).
  60. - Fixed many small discrepancies with Posix 1003.1c.
  61. - Put under the LGPL instead of the GPL.
  62. Release 0.2:
  63. - Reentrant libc functions (adapted from libc 5.3.9 by Peeter Joot)
  64. - pthread_cond_wait did not reacquire the mutex correctly on return
  65. - More efficient pthread_cond_broadcast
  66. Release 0.1:
  67. - First public release