[Announce] nPth 0.91 released

Werner Koch wk at gnupg.org
Wed Aug 8 07:15:05 CEST 2012


Hi!

We are pleased to announce the second official release of the New GNU
Portable Threads Library: nPth version 0.91.

nPth is a non-preemptive threads implementation using an API very similar
to the one known from GNU Pth.  It has been designed as a replacement of
GNU Pth for non-ancient operating systems.  In contrast to GNU Pth is is
based on the system's standard threads implementation.  Thus nPth allows
the use of libraries which are not compatible to GNU Pth.


What's New in 0.91
==================

 * Fixed a flaw in the initialization code.

 * npth_init does now return an error on failure.

 * Various fixes for better portability.

 * Provide a pselect emulation for OpenBSD et al.


Getting the Software
====================

The nPth tarball and its signature are available as

  ftp://ftp.gnupg.org/gcrypt/npth/npth-0.91.tar.bz2     (293k)
  ftp://ftp.gnupg.org/gcrypt/npth/npth-0.91.tar.bz2.sig

and at all GnuPG mirrors.  See the included README file and the npth.h
header for documentation.  Bug reports and requests for help should be
send to the gnupg-devel mailing list at gnupg.org.  nPth is available
under the terms of the LGPLv3+ or the GPLv2+.  The GIT repository is at
git://git.gnupg.org/npth.git .


Background
==========

GNU Pth is often used to provide a co-routine based framework.  GnuPG-2
makes heavy use of this concept for good audibility, general security
concerns, and ease of implementation.  However, GNU Pth has the drawback
that ugly hacks are required to work with libraries which are not GNU
Pth aware.

When porting GnuPG-2 to Windows in 2004, we had the need for a
replacement of GNU Pth, which is not available for native Windows.  We
came up with an emulation based on the native Windows thread system.
Experience since then showed that such an emulation is a solid way to
provide a co-routine based framework.  Given that thread implementations
(in particular pthreads) are now in common use on all platforms, there
is not must justification left for not using them: Without considering
the GnuPG packages, Debian has only two packages requiring GNU Pth
(zhcon and jabberd14 - the latter even seems not in wide use anymore).

Thus we decided to write nPth as a replacement for GNU Pth.  The current
development version of GnuPG (2.1) has been migrated to nPth and the the
next beta release will require it.  On common Linux and kFreeBSD based
systems and even on Android, nPth should build and work fine.


Support
=======

Please consult the archive of the gnupg-users mailing list before
reporting a bug <http://gnupg.org/documentation/mailing-lists.html>.  As
of now we suggest to send bug reports for a nPth to this list in favor
of filing a bug at <http://bugs.gnupg.org>.  We also have a dedicated
service directory at:

  http://www.gnupg.org/service.html

Maintaining and improving GnuPG and related software is costly.  For
more than a decade, g10 Code, a German company owned and headed by
GnuPG's principal author Werner Koch, is bearing the majority of these
costs.  To help them carry on this work, we need your support.  Please
consider to visit the GnuPG donation page at:

  http://g10code.com/gnupg-donation.html


Thanks
======

Many thanks to Ralf S. Engelschall for his excellent GNU PTH library,
which served GnuPG very well for many years.  Thanks also to Nelson
H. F. Beebe would provided useful portability hints for this release.



Happy hacking,

  Marcus and Werner


-- 
g10 Code GmbH       http://g10code.com      AmtsGer. Wuppertal HRB 14459
Hüttenstr. 61                               Geschäftsführung Werner Koch
D-40699 Erkrath  -=- The GnuPG Experts -=-  USt-Id DE215605608
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 203 bytes
Desc: not available
URL: </pipermail/attachments/20120808/138d5888/attachment.pgp>
-------------- next part --------------
_______________________________________________
Gnupg-announce mailing list
Gnupg-announce at gnupg.org
http://lists.gnupg.org/mailman/listinfo/gnupg-announce


More information about the Gnupg-devel mailing list