public inbox for pthreads-win32@sourceware.org
 help / color / mirror / Atom feed
* New pthreads-w32 releases available: versions 2.3.0 and 1.7.0
@ 2005-04-12  7:46 Ross Johnson
  2005-04-12 10:10 ` Alexander Terekhov
  0 siblings, 1 reply; 6+ messages in thread
From: Ross Johnson @ 2005-04-12  7:46 UTC (permalink / raw)
  To: Pthreads-Win32 list

Announcing two new releases of pthreads-w32:-
pthreads-w32-2-3-0-release
pthreads-w32-1-7-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


These releases hopefully fix all known problems with pthread_once() in
both versions 1 and 2 of pthreads-win32. In particular, the starvation
problem that potentially arises after an init_routine cancellation has
been resolved using momentary priority boosting. If it proves to be
robust then there will be no need for a version 3 release as previously
implied (at least, not to fix pthread_once()).

The additional work of managing thread priorities inside of pthread_once
has been kept out of the normal (cancellation-free) pathways so that the
additional normal path overhead is almost nil (i.e. introduces no
additional bus locking or cache coherence operations if cancellation-
free).

The functionally and behaviour of versions 1.7 and 2.3 should be
logically identical. However, the version 2 pthread_once implementation
(based on code posted by Gottlob Frege) is much more efficient.


RELEASE 2.3.0
-------------
(2005-04-12)

General
-------

Release 1.7.0 is the backport of features and bug fixes new in
this release. See earlier notes under Release 2.0.0/General.

Bugs fixed
----------

* Fixed pthread_once potential for post once_routine cancellation
hanging due to starvation. See comments in pthread_once.c.
Momentary priority boosting is used to ensure that, after a
once_routine is cancelled, the thread that will run the
once_routine is not starved by higher priority waiting threads at
critical times. Priority boosting occurs only AFTER a once_routine
cancellation, and is applied only to that once_control. The
once_routine is run at the thread's normal base priority.

New tests
---------

* once4.c: Aggressively tests pthread_once() under realtime
conditions using threads with varying priorities. Windows'
random priority boosting does not occur for threads with realtime
priority levels.



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2005-04-15  3:08 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-04-12  7:46 New pthreads-w32 releases available: versions 2.3.0 and 1.7.0 Ross Johnson
2005-04-12 10:10 ` Alexander Terekhov
2005-04-13  7:45   ` Ross Johnson
2005-04-13  8:21     ` Gottlob Frege
2005-04-14 16:19     ` Alexander Terekhov
2005-04-15  3:08       ` Ross Johnson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).