diff options
-rw-r--r-- | NEWS | 18 |
1 files changed, 14 insertions, 4 deletions
@@ -10,7 +10,7 @@ HTML formatted Unix-style manual pages that have been edited for consistency with Pthreads-w32. The set can also be read online at: http://sources.redhat.com/pthreads-win32/manual/index.html -Thanks again to Tim Theisen for pre-release running the testing suite +Thanks again to Tim Theisen for running the test suite pre-release on an MP system. All of the bug fixes and new features in this release have been @@ -20,12 +20,22 @@ Bugs fixed ---------- * Thread Specific Data (TSD) key management has been ammended to -eliminate a source of (what is effectively) resource leakage (HANDLEs -plus memory). +eliminate a source of (what was effectively) resource leakage (a HANDLE +plus memory for each key destruct routine/thread association). This was +not a true leak because these resources were eventually reclaimed when +pthread_key_delete was run AND each thread referencing the key had exited. +The problem was that these two conditions are often not met until very +late, and often not until the process is about to exit. + +The ammended implementation avoids the need for the problematic HANDLE +and reclaims the memory as soon as either the key is deleted OR the +thread exits, whichever is first. + Thanks to Richard Hughes at Aculab for identifying and locating the leak. * TSD key destructors are now processed up to PTHREAD_DESTRUCTOR_ITERATIONS -times (was always in pthread.h) instead of just once. +times instead of just once. PTHREAD_DESTRUCTOR_ITERATIONS has been +defined in pthread.h for some time but not used. * Fix a semaphore accounting race between sem_post/sem_post_multiple and sem_wait cancellation. This is the same issue as with |