[1.7] ITP: pth
Charles Wilson
cygwin@cwilson.fastmail.fm
Mon Oct 19 22:48:00 GMT 2009
Pth is a very portable POSIX/ANSI-C based library for Unix platforms
which provides non-preemptive priority-based scheduling for multiple
threads of execution (aka `multithreading') inside event-driven
applications. All threads run in the same address space of the server
application, but each thread has its own individual program-counter,
run-time stack, signal mask and errno variable.
That is, GNU Pth is a user-mode threading library.
At present, pth on cygwin does not allow the use of fork() in client
applications, so it has been disabled:
pth_fork() always returns -1 with errno=ENOSYS
fork() is redirected by pth.h to call pth_fork()
See fork-bug/README (attached) for more information.
pth is a prerequisite for (unmodified) GnuPG2 and libassuan. This build
passes all internal self-tests, but has one known cygwin-specific
deficiency as mentioned above. The distribution includes a test case in
/usr/share/doc/pth/fork-bug/. If you don't use fork(), pth works fine
and is generally quite a bit faster (and supposedly more secure) than
native threads such as pthreads.
pth is included in debian stable and testing:
http://packages.debian.org/search?keywords=pth
and Fedora 11
https://admin.fedoraproject.org/pkgdb/packages/name/pth?#Fedora11
http://cygutils.fruitbat.org/ITP-gnupg2/release/pth/libpth-devel/libpth-devel-2.0.7-2.tar.bz2
http://cygutils.fruitbat.org/ITP-gnupg2/release/pth/libpth-devel/setup.hint
http://cygutils.fruitbat.org/ITP-gnupg2/release/pth/libpth20/libpth20-2.0.7-2.tar.bz2
http://cygutils.fruitbat.org/ITP-gnupg2/release/pth/libpth20/setup.hint
http://cygutils.fruitbat.org/ITP-gnupg2/release/pth/pth-2.0.7-2-src.tar.bz2
http://cygutils.fruitbat.org/ITP-gnupg2/release/pth/pth-2.0.7-2.tar.bz2
http://cygutils.fruitbat.org/ITP-gnupg2/release/pth/setup.hint
====== pth setup.hint =====
requires: libpth20
category: Doc
sdesc: "GNU Pth - The GNU Portable Threads (doc)"
ldesc: "Pth is a very portable POSIX/ANSI-C based library for
Unix platforms which provides non-preemptive priority-based
scheduling for multiple threads of execution (aka multithreading)
inside event-driven applications. It is a user-mode threading
library."
====== libpth20 setup.hint =====
requires: libgcc1
category: Libs
external-source: pth
sdesc: "GNU Pth - The GNU Portable Threads (runtime)"
ldesc: "Pth is a very portable POSIX/ANSI-C based library for
Unix platforms which provides non-preemptive priority-based
scheduling for multiple threads of execution (aka multithreading)
inside event-driven applications. It is a user-mode threading
library."
====== libpth-devel setup.hint =====
requires: libpth20
category: Devel Libs
external-source: pth
sdesc: "GNU Pth - The GNU Portable Threads (devel)"
ldesc: "Pth is a very portable POSIX/ANSI-C based library for
Unix platforms which provides non-preemptive priority-based
scheduling for multiple threads of execution (aka multithreading)
inside event-driven applications. It is a user-mode threading
library."
OK?
--
Chuck
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: README
URL: <http://cygwin.com/pipermail/cygwin-apps/attachments/20091019/2e63393b/attachment.ksh>
More information about the Cygwin-apps
mailing list