public inbox for pthreads-win32@sourceware.org
 help / color / mirror / Atom feed
* Snapshot 2004-11-22 replaces 2004-11-03
@ 2004-11-23  0:59 Ross Johnson
  0 siblings, 0 replies; only message in thread
From: Ross Johnson @ 2004-11-23  0:59 UTC (permalink / raw)
  To: pthreads-win32

Dear all,

First of all, pthread_cond_wait() has been restored to it's former state 
to fix the deadlock problem that I introduced in snapshot-2004-11-03. 
Many thanks to Alexander Kotliarov and 'qybupt'.

Secondly, the ABI change introduced in snapshot-2004-11-03 and any 
future backwards compatibility issues have been resolved through the 
addition of a versioning scheme and version information included within 
the DLL.

Finally, the reusable threads ID uniqueness characteristic has been kept 
but can be 'switched off' in the DLL build if you want/need the extra 
sensitivity (perhaps during development) to applications that may not be 
strictly POSIX compliant. DLLs with either behaviour are fully 
compatible with each other.

Please see the notes below and the references therein.

Please regard this snapshot as 'beta'.
Snapshot-2004-11-03 has been removed from the main FTP site.

For downloads, 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


There is also work going on to get the Borland and Watcom compiler 
versions past the testsuite.

Ross


SNAPSHOT 2004-11-22
-------------------

This snapshot primarily fixes the condvar bug introduced in
snapshot-2004-11-03. DLL versioning has also been included to allow
applications to runtime check the Microsoft compatible DLL version
information, and to extend the DLL naming system for ABI and major
(non-backward compatible) API changes. See the README file for details.

Bug fixes
---------

* Condition variables no longer deadlock (bug introduced in
snapshot-2004-11-03).
- Alexander Kotliarov and 'qybupt'

* DLL naming extended to avoid 'DLL hell' in the future, and to
accommodate the ABI change introduced in snapshot-2004-11-03. Snapshot
2004-11-03 will be removed from FTP sites.

New features
------------

* A Microsoft-style version resource has been added to the DLL for
applications that wish to check DLL compatibility at runtime.

* Pthreads-win32 DLL naming has been extended to allow incompatible DLL
versions to co-exist in the same filesystem. See the README file for 
details,
but briefly: while the version information inside the DLL will change with
each release from now on, the DLL version names will only change if the new
DLL is not backward compatible with older applications.

The versioning scheme has been borrowed from GNU Libtool, and the DLL
naming scheme is from Cygwin. Provided the Libtool-style numbering rules are
honoured, the Cygwin DLL naming scheme automatcally ensures that DLL name
changes are minimal and that applications will not load an incompatible
pthreads-win32 DLL.

Those who use the pre-built DLLs will find that the DLL/LIB names have a new
suffix (1) in this snapshot. E.g. pthreadVC1.dll etc.

* The POSIX thread ID reuse uniqueness feature introduced in the last 
snapshot
has been kept as default, but the behaviour can now be controlled when 
the DLL
is built to effectively switch it off. This makes the library much more
sensitive to applications that assume that POSIX thread IDs are unique, i.e.
are not strictly compliant with POSIX. See the 
PTW32_THREAD_ID_REUSE_INCREMENT
macro comments in config.h for details.

Other changes
-------------
Certain POSIX macros have changed.

These changes are intended to conform to the Single Unix Specification 
version 3,
which specifies that, if set to 0 (zero) or not defined, then 
applications may use
sysconf() to determine their values at runtime. Pthreads-win32 does not
implement sysconf().

The following macros are no longer undefined, but defined and set to -1
(i.e. not implemented):

      _POSIX_THREAD_ATTR_STACKADDR
      _POSIX_THREAD_PRIO_INHERIT
      _POSIX_THREAD_PRIO_PROTECT
      _POSIX_THREAD_PROCESS_SHARED

The following macros are defined and set to 200112L (i.e. implemented):

      _POSIX_THREADS
      _POSIX_THREAD_SAFE_FUNCTIONS
      _POSIX_THREAD_ATTR_STACKSIZE
      _POSIX_THREAD_PRIORITY_SCHEDULING
      _POSIX_SEMAPHORES
      _POSIX_READER_WRITER_LOCKS
      _POSIX_SPIN_LOCKS
      _POSIX_BARRIERS

The following macros are defined and set to appropriate values:

      _POSIX_THREAD_THREADS_MAX
      _POSIX_SEM_VALUE_MAX
      _POSIX_SEM_NSEMS_MAX
      PTHREAD_DESTRUCTOR_ITERATIONS
      PTHREAD_KEYS_MAX
      PTHREAD_STACK_MIN
      PTHREAD_THREADS_MAX

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2004-11-23  0:59 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-11-23  0:59 Snapshot 2004-11-22 replaces 2004-11-03 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).