Changes 3.4 KB

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