|
Packit |
5e354d |
nPth - The New GNU Portable Threads Library
|
|
Packit |
5e354d |
|
|
Packit |
5e354d |
* Overview
|
|
Packit |
5e354d |
|
|
Packit |
5e354d |
This is a library to provide the GNU Pth API and thus a
|
|
Packit |
5e354d |
non-preemptive threads implementation.
|
|
Packit |
5e354d |
|
|
Packit |
5e354d |
In contrast to GNU Pth is is based on the system's standard threads
|
|
Packit |
5e354d |
implementation. This allows the use of libraries which are not
|
|
Packit |
5e354d |
compatible to GNU Pth. Experience with a Windows Pth emulation
|
|
Packit |
5e354d |
showed that this is a solid way to provide a co-routine based
|
|
Packit |
5e354d |
framework.
|
|
Packit |
5e354d |
|
|
Packit |
5e354d |
See the file AUTHORS for contact and copyright information.
|
|
Packit |
5e354d |
|
|
Packit |
5e354d |
* License
|
|
Packit |
5e354d |
|
|
Packit |
5e354d |
nPth is released under the LGPLv2+ license.
|
|
Packit |
5e354d |
|
|
Packit |
5e354d |
* Porting hints
|
|
Packit |
5e354d |
|
|
Packit |
5e354d |
Documentation is currently missing. If you are using GNU Pth you
|
|
Packit |
5e354d |
should be able to understand the API. Given that GNU Pth is rarely
|
|
Packit |
5e354d |
used, we hestitate to spend work on a migration guide. If you have
|
|
Packit |
5e354d |
questions, please ask on gnupg-devel. Here are some hints:
|
|
Packit |
5e354d |
|
|
Packit |
5e354d |
- Pth mutexes are recursive, that is they will not block if called
|
|
Packit |
5e354d |
by the same thread. In contrast, nPth mutexes are not recursive;
|
|
Packit |
5e354d |
it is best to change your code to avoid recursive use of mutexes.
|
|
Packit |
5e354d |
nPth uses non-recursive mutexes for performance reasons.
|