• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

ANNOUNCEH A D08-Jun-20063.7 KiB8365

AUTHORSH A D08-Jun-2006602 2417

COPYINGH A D08-Jun-200626.2 KiB507425

ChangeLogH A D08-Jun-2006102.5 KiB2,7682,038

HACKINGH A D08-Jun-20067.1 KiB165138

HISTORYH A D08-Jun-20063.8 KiB111105

INSTALLH A D08-Jun-20068.8 KiB219175

Makefile.inH A D08-Jun-200617.8 KiB465362

NEWSH A D08-Jun-20063.9 KiB9275

PORTINGH A D08-Jun-200619 KiB278264

READMEH A D08-Jun-20064 KiB8769

SUPPORTH A D08-Jun-20062.3 KiB4940

TESTSH A D08-Jun-20066.1 KiB161146

THANKSH A D08-Jun-20066.3 KiB120112

USERSH A D08-Jun-20061.5 KiB3327

aclocal.m4H A D08-Jun-200642.9 KiB1,6301,527

config.guessH A D07-Mar-200642.6 KiB1,4721,261

config.paramH A D08-Jun-20062.1 KiB6862

config.subH A D07-Mar-200631.4 KiB1,6001,457

configureH A D08-Jun-2006849.8 KiB27,19521,904

configure.acH A D08-Jun-200619.6 KiB670595

libtool.m4H A D08-Jun-2006225.2 KiB6,3985,742

ltmain.shH A D07-Mar-2006191.8 KiB6,8645,416

pth-config.1H A D08-Jun-20066.9 KiB239215

pth-config.inH A D08-Jun-20063.8 KiB142110

pth-config.podH A D08-Jun-20063.6 KiB157106

pth.3H A D08-Jun-2006127.9 KiB2,3602,336

pth.h.inH A D08-Jun-200621.3 KiB589522

pth.m4H A D08-Jun-200616.1 KiB403400

pth.podH A D08-Jun-2006102.7 KiB2,4481,908

pth.specH A D08-Jun-20063.7 KiB11263

pth_acdef.h.inH A D08-Jun-20067.4 KiB289193

pth_acmac.h.inH A D08-Jun-20062.2 KiB6558

pth_attr.cH A D08-Jun-20069.6 KiB315264

pth_cancel.cH A D08-Jun-20064.4 KiB13274

pth_clean.cH A D08-Jun-20062.5 KiB8647

pth_compat.cH A D08-Jun-20061.7 KiB5417

pth_data.cH A D08-Jun-20064.1 KiB13496

pth_debug.cH A D08-Jun-20064.1 KiB11572

pth_errno.cH A D08-Jun-20062 KiB5721

pth_event.cH A D08-Jun-200613.4 KiB434312

pth_ext.cH A D08-Jun-20062.8 KiB10457

pth_fork.cH A D08-Jun-20063.2 KiB10050

pth_high.cH A D08-Jun-200647.3 KiB1,4991,033

pth_lib.cH A D08-Jun-200619.2 KiB631432

pth_mctx.cH A D08-Jun-200617.1 KiB562271

pth_msg.cH A D08-Jun-20064.1 KiB14877

pth_p.h.inH A D03-May-20223.2 KiB140123

pth_pqueue.cH A D08-Jun-20066.6 KiB257186

pth_ring.cH A D08-Jun-20066.6 KiB246162

pth_sched.cH A D08-Jun-200634.4 KiB855550

pth_string.cH A D08-Jun-200618.2 KiB707584

pth_sync.cH A D08-Jun-200611.5 KiB383262

pth_syscall.cH A D08-Jun-200624.8 KiB726543

pth_tcb.cH A D08-Jun-20066 KiB15188

pth_time.cH A D08-Jun-20064.6 KiB183120

pth_uctx.cH A D08-Jun-20066.3 KiB203109

pth_util.cH A D08-Jun-20065.3 KiB185123

pth_vers.cH A D08-Jun-20061,009 4731

pthread-config.1H A D08-Jun-20066.8 KiB232208

pthread-config.inH A D08-Jun-20063.6 KiB134102

pthread-config.podH A D08-Jun-20063.5 KiB148101

pthread.3H A D08-Jun-2006266.1 KiB8,3148,290

pthread.cH A D08-Jun-200628.6 KiB1,168892

pthread.h.inH A D08-Jun-200620 KiB593530

pthread.podH A D08-Jun-2006214.2 KiB9,8427,066

shtoolH A D08-Jun-200660.9 KiB1,7821,472

striptease.mkH A D08-Jun-20062.2 KiB7536

striptease.plH A D08-Jun-20064.8 KiB162113

test_common.cH A D08-Jun-20063.4 KiB12577

test_common.hH A D08-Jun-20061.3 KiB335

test_httpd.cH A D08-Jun-20066.4 KiB231151

test_misc.cH A D08-Jun-20064.9 KiB146102

test_mp.cH A D08-Jun-20065.7 KiB184138

test_philo.cH A D08-Jun-20066.5 KiB215142

test_pthread.cH A D08-Jun-20063.7 KiB11271

test_select.cH A D08-Jun-20063.1 KiB10365

test_sfio.cH A D08-Jun-20063.6 KiB13079

test_sig.cH A D08-Jun-20064.3 KiB15193

test_std.cH A D08-Jun-20064.4 KiB154106

test_uctx.cH A D08-Jun-20064.2 KiB15292

README

1   ____  _   _
2  |  _ \| |_| |__
3  | |_) | __| '_ \                    ``Only those who attempt
4  |  __/| |_| | | |                     the absurd can achieve
5  |_|    \__|_| |_|                     the impossible.''
6
7  GNU Pth - The GNU Portable Threads
8  Version 2.0.7 (08-Jun-2006)
9
10  ABSTRACT
11
12  Pth is a very portable POSIX/ANSI-C based library for Unix platforms
13  which provides non-preemptive priority-based scheduling for multiple
14  threads of execution (aka `multithreading') inside event-driven
15  applications. All threads run in the same address space of the server
16  application, but each thread has its own individual program-counter,
17  run-time stack, signal mask and errno variable.
18
19  The thread scheduling itself is done in a cooperative way, i.e., the
20  threads are managed by a priority- and event-based non-preemptive
21  scheduler. The intention is, that this way one can achieve better
22  portability and run-time performance than with preemptive scheduling.
23  The event facility allows threads to wait until various types of
24  events occur, including pending I/O on filedescriptors, asynchronous
25  signals, elapsed timers, pending I/O on message ports, thread and
26  process termination, and even customized callback functions.
27
28  Additionally Pth provides an optional emulation API for POSIX.1c
29  threads (`Pthreads') which can be used for backward compatibility to
30  existing multithreaded applications.
31
32  Finally, Pth guarranties its fixed set of API functionality on
33  all platforms, i.e., functions like pth_poll(3), pth_readv(3) or
34  pth_writev(3) are always available, even if the particular underlaying
35  platform does not actually support their functionality (through the
36  system calls poll(2), readv(2), writev(2), etc).
37
38  Although Pth is very feature-rich, it is a rather small threading
39  library. It consists only of approximately 7,000 line (or 300 KB) of
40  ANSI C code which are auto-configured with approximately 400 lines (or
41  60 KB) of Autoconf/m4 macros and which are documented by approximately
42  3,000 lines (or 150 KB) of documentation. Additionally the sources
43  are documented with approximately 3,600 additional lines of comments.
44  As a result, the whole source tree is just about 1.5 MB in size and
45  fits into a small tarball less than 350 KB in size. This allows Pth to
46  fit very well even into the source tree of other applications without
47  bloating it up very much.
48
49  Pth was successfully tested on FreeBSD, NetBSD, OpenBSD, BSDI,
50  GNU/Linux, Solaris, HPUX, Tru64 (OSF/1), AIX, IRIX, UnixWare, SCO
51  OpenServer, SINIX, ReliantUNIX, ISC, AmigaOS, Rhapsody (MacOS X), FTX,
52  AUX and Win32/Cygwin. And it should should automatically adjust itself
53  to remaining Unix platforms, too.
54
55  COPYRIGHT AND LICENSE
56
57  Copyright (c) 1999-2006 Ralf S. Engelschall <rse@engelschall.com>
58
59  This library is free software; you can redistribute it and/or
60  modify it under the terms of the GNU Lesser General Public
61  License as published by the Free Software Foundation; either
62  version 2.1 of the License, or (at your option) any later version.
63
64  This library is distributed in the hope that it will be useful,
65  but WITHOUT ANY WARRANTY; without even the implied warranty of
66  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
67  Lesser General Public License for more details.
68
69  You should have received a copy of the GNU Lesser General Public
70  License along with this library (see file COPYING); if not, write
71  to the Free Software Foundation, Inc., 59 Temple Place, Suite
72  330, Boston, MA 02111-1307 USA, or contact Ralf S. Engelschall
73  <rse@engelschall.com>.
74
75  HOME AND DOCUMENTATION
76
77  The documentation and latest release can be found on
78
79  o OSSP: http://www.ossp.org/pkg/lib/pth/
80  o OSSP:  ftp://ftp.ossp.org/pkg/lib/pth/
81  o GNU:  http://www.gnu.org/software/pth/
82  o GNU:   ftp://ftp.gnu.org/gnu/pth/
83
84                                       Ralf S. Engelschall
85                                       rse@engelschall.com
86                                       www.engelschall.com
87