From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6818 invoked by alias); 9 May 2005 16:14:07 -0000 Mailing-List: contact pthreads-win32-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: pthreads-win32-owner@sources.redhat.com Received: (qmail 3718 invoked from network); 9 May 2005 16:11:53 -0000 Received: from unknown (HELO quokka.dot.net.au) (202.147.68.16) by sourceware.org with SMTP; 9 May 2005 16:11:53 -0000 Received: from [203.129.49.46] (helo=ppp-49-46.grapevine.net.au) by quokka.dot.net.au with esmtp (Exim 3.35 #1 (Debian)) id 1DVArI-00042o-00 for ; Tue, 10 May 2005 02:11:52 +1000 Subject: New pthreads-w32 releases available: versions 2.5.0 and 1.9.0 From: Ross Johnson To: Pthreads-Win32 list Content-Type: text/plain Date: Mon, 09 May 2005 16:14:00 -0000 Message-Id: <1115655111.5871.2.camel@desk.home> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-SW-Source: 2005/txt/msg00086.txt.bz2 Announcing two new releases of pthreads-w32:- pthreads-w32-2-5-0-release pthreads-w32-1-9-0-release Packages are available in self-unpacking zip files (.exe) and gzipped tar files (.tar.gz) as usual. See http://sources.redhat.com/pthreads-win32/ or go directly to: ftp://sources.redhat.com/pub/pthreads-win32/ Red Hat have a low ftp concurrent user limit. Mirrors are at (available as they update): http://sources.redhat.com/mirrors.html RELEASE 2.5.0 ------------- (2005-05-09) General ------- The package now includes a reference documentation set consisting of 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 running the test suite pre-release on an MP system. All of the bug fixes and new features in this release have been back-ported in release 1.9.0. Bugs fixed ---------- * Thread Specific Data (TSD) key management has been ammended to 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 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 sem_timedwait that was fixed in the last release. * sem_init, sem_post, and sem_post_multiple now check that the semaphore count never exceeds _POSIX_SEM_VALUE_MAX. * Although sigwait() is nothing more than a no-op, it should at least be a cancellation point to be consistent with the standard. New tests --------- * stress1.c - attempts to expose problems in condition variable and semaphore timed wait logic. This test was inspired by Stephan Mueller's sample test code used to identify the sem_timedwait bug from the last release. It's not a part of the regular test suite because it can take awhile to run. To run it: nmake clean VC-stress * tsd2.c - tests that key destructors are re-run if the tsd key value is not NULL after the destructor routine has run. Also tests that pthread_setspecific() and pthread_getspecific() are callable from destructors.