public inbox for pthreads-win32@sourceware.org
 help / color / mirror / Atom feed
From: Ross Johnson <RossJohnson@homemail.com.au>
To: Pthreads-Win32 list <pthreads-win32@sources.redhat.com>
Subject: New pthreads-w32 releases available: versions 2.3.0 and 1.7.0
Date: Tue, 12 Apr 2005 07:46:00 -0000	[thread overview]
Message-ID: <1113291983.23876.44.camel@desk.home> (raw)

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.



             reply	other threads:[~2005-04-12  7:46 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-04-12  7:46 Ross Johnson [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1113291983.23876.44.camel@desk.home \
    --to=rossjohnson@homemail.com.au \
    --cc=pthreads-win32@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).