From c8079f156984a11874f2ecaddb750e463a9554b1 Mon Sep 17 00:00:00 2001 From: rpj Date: Mon, 9 May 2005 08:59:45 +0000 Subject: '' --- NEWS | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/NEWS b/NEWS index 8c86a5e..8bc2823 100644 --- a/NEWS +++ b/NEWS @@ -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 -- cgit v1.2.3