head 1.15; access; symbols PTH_2_0_7:1.15 PTH_2_0_6:1.15 PTH_2_0_5:1.15 PTH_2_0_4:1.15 PTH_2_0_3:1.15 PTH_2_0_2:1.15 PTH_2_0_1:1.15 PTH_2_0_0:1.15 PTH_2_0b2:1.15 PTH_2_0b1:1.15 PTH_2_0b0:1.15 PTH_1_4:1.12.0.2 PTH_1_4_1:1.12 PTH_1_4_0:1.12 PTH_1_3_7:1.9 PTH_1_4a3:1.10 PTH_1_3_6:1.9 PTH_1_4a2:1.10 PTH_1_3_5:1.9 PTH_1_4a1:1.9 PTH_1_3_4:1.9 PTH_1_3:1.9.0.2 PTH_1_3_3:1.9 PTH_1_3_2:1.9 PTH_1_3_1:1.9 PTH_1_3_0:1.9 PTH_1_3b3:1.9 PTH_1_2_3:1.4.2.1 PTH_1_3b2:1.8 PTH_1_3b1:1.7 PTH_1_3a5:1.7 PTH_1_3a4:1.6 PTH_1_3a3:1.6 PTH_1_2_2:1.4.2.1 PTH_1_3a2:1.6 PTH_1_2_1:1.4.2.1 PTH_1_3a1:1.5 PTH_1_2:1.4.0.2 PTH_1_2_0:1.4 PTH_1_2b8:1.4 PTH_1_2b7:1.4 PTH_1_2b6:1.2 PTH_1_2b5:1.2 PTH_1_2b4:1.2 PTH_1_2b3:1.2 PTH_1_2b2:1.2; locks; strict; comment @# @; 1.15 date 2002.10.15.20.34.22; author rse; state Exp; branches; next 1.14; 1.14 date 2002.09.12.09.02.04; author rse; state Exp; branches; next 1.13; 1.13 date 2002.01.30.12.54.21; author rse; state Exp; branches; next 1.12; 1.12 date 2001.03.24.14.56.46; author rse; state Exp; branches; next 1.11; 1.11 date 2000.08.18.07.23.53; author rse; state Exp; branches; next 1.10; 1.10 date 2000.04.19.18.45.48; author rse; state Exp; branches; next 1.9; 1.9 date 2000.02.04.22.27.02; author rse; state Exp; branches; next 1.8; 1.8 date 2000.01.27.19.04.06; author rse; state Exp; branches; next 1.7; 1.7 date 2000.01.15.09.29.50; author rse; state Exp; branches; next 1.6; 1.6 date 99.11.09.08.11.30; author rse; state Exp; branches; next 1.5; 1.5 date 99.11.01.10.27.16; author rse; state Exp; branches; next 1.4; 1.4 date 99.10.22.11.17.34; author rse; state Exp; branches 1.4.2.1; next 1.3; 1.3 date 99.10.22.10.38.26; author rse; state Exp; branches; next 1.2; 1.2 date 99.09.02.14.37.09; author rse; state Exp; branches; next 1.1; 1.1 date 99.09.02.14.35.22; author rse; state Exp; branches; next ; 1.4.2.1 date 99.11.01.10.24.57; author rse; state Exp; branches; next ; desc @@ 1.15 log @remove trailing whitespaces @ text @ ____ _ _ | _ \| |_| |__ | |_) | __| '_ \ | __/| |_| | | | ``Real hackers can write assembly |_| \__|_| |_| code in any language.'' GNU Pth - The GNU Portable Threads HACKING ======= HOW TO BE ALWAYS UP TO DATE --------------------------- Those who want to be always at the bleeding edge or even want to hack on the Pth sources can browse the latest Pth source tree on http://cvs.ossp.org/pkg/lib/pth/ or retrieve these sources via Anonymous-CVS from the OSSP master repository. For this you need CVS 1.10 or later. If you still don't have CVS installed, grab it from http://www.cvshome.org/ and install it first. Then you can check out the Pth source tree via the following steps: | $ CVSROOT=:pserver:anonymous@@cvs.ossp.org:/e/ossp/cvs | $ export CVSROOT | $ cvs login | (Logging in to anonymous@@cvs.ossp.org) | CVS password: [use an empty password by just pressing RETURN] | $ cvs -z3 checkout pth | cvs server: Updating pth | U pth/.configure | U pth/.cvsignore | U pth/.gdbinit | U pth/AUTHORS | U pth/COPYING | U pth/ChangeLog | U pth/INSTALL | U pth/Makefile.in | U pth/NEWS | : : Then start hacking on your local changes. You cannot commit it to the repository, of course, because you've read-only access only. But you can let the changes stay around in your checkout tree and whenever changes occur in the master version (because of commits by the author) you can update your version from time to time via: | $ cd pth | $ cvs -z3 update | cvs server: Updating . | U HACKING | : : If you want to contribute your changes to the author, create a unified difference file as described below and send the generated pth.diff file to pth-users@@gnu.org (to send it to the public) or bug-pth@@gnu.org (to send it only to the author). | $ cd pth | $ cvs diff -u3 . >pth.diff Read the comprehensive CVS user manual (included in the CVS distrubtion as `doc/cvs.ps') for more details on how to work with CVS. OVERVIEW OF THE SOURCE TREE --------------------------- Here is a brief overview of the source tree. .gdbinit .............. GDB rc file for use with Pth .dmallocrc ............ DMalloc rc file for use with Pth AUTHORS ............... List of major package authors COPYING ............... Copying conditions (the LGPL) ChangeLog ............. The detailed list of every source change HACKING ............... This document HISTORY ............... List of released Pth versions INSTALL ............... Installation Instructions Makefile.in ........... Build procedure for a standard Make tool NEWS .................. The list of major changes between version PORTING ............... Instructions for porting Pth to new platforms README ................ The general package introduction text SUPPORT ............... Hints for user support TESTS ................. Results from tests with real-world applications THANKS ................ List of credits to people USERS ................. List of packages utilizing Pth acconfig.h ............ Autoconf header (the input for pth_acdef.h.in) acheader.m4 ........... Autoconf macros for use with autoheader aclocal.m4 ............ Autoconf macros (for configure) config.guess .......... Autoconf platform guessing tool (part I) config.param .......... Autoconf command line parameter collections config.sub ............ Autoconf platform guessing tool (part II) configure ............. Autoconf script (pre-generated from configure.ac) configure.ac .......... Autoconf script source ltconfig .............. Libtool configuration script ltmain.sh ............. Libtool main template pth-config.1 .......... Pth config script manual page (pre-generated) pth-config.in ......... Pth config script input pth-config.pod ........ Pth config script manual page source pth.3 ................. Pth manual page (pre-generated) pth.pod ............... Pth manual page source pth_acdef.h.in ........ Autoconf header with definitions (generated) pth_acmac.h.in ........ Autoconf header with macros pth.h.in .............. Public header file source pth_p.h.in ............ Private header file source pth_attr.c ............ Pth module source: attribute objects pth_cancel.c .......... Pth module source: cancellation pth_clean.c ........... Pth module source: cleanup handler pth_compat.c .......... Pth module source: platform compatibility pth_data.c ............ Pth module source: thread local data pth_debug.c ........... Pth module source: debugging support pth_errno.c ........... Pth module source: errno handling pth_event.c ........... Pth module source: event objects pth_ext.c ............. Pth module source: extensional functionality pth_fork.c ............ Pth module source: fork support pth_high.c ............ Pth module source: high-level functions pth_lib.c ............. Pth module source: standard library functions pth_mctx.c ............ Pth module source: maschine context handling pth_msg.c ............. Pth module source: message ports pth_pqueue.c .......... Pth module source: priority queue data structure pth_ring.c ............ Pth module source: ring data structure pth_sched.c ........... Pth module source: scheduler pth_string.c .......... Pth module source: string functions pth_sync.c ............ Pth module source: synchronizations objects pth_syscall.c ......... Pth module source: hard system call support pth_tcb.c ............. Pth module source: thread control block pth_time.c ............ Pth module source: time handling pth_util.c ............ Pth module source: utility functions pth_vers.c ............ Pth module source: library version (generated) pthread-config.1 ...... Pthread API config script manual page (pre-generated) pthread-config.in ..... Pthread API config script input pthread-config.pod .... Pthread API config script manual page source pthread.3 ............. Pthread API manual page (pre-generated) pthread.pod ........... Pthread API manual page source pthread.c ............. Pthread API functions pthread.h.in .......... Pthread API public header source pthread.ps ............ Pthread API overview (from SMI) rse-pmt.ps ............ Article `Portable Multithreading' for pth_mctx.c shtool ................ Shtool script striptease.mk ......... Makefile for stripped source tree striptease.pl ......... Perl Script for stripping the source tree test_common.c ......... Test common functions test_common.h ......... Test common header test_httpd.c .......... Test module: Faked HTTP Daemon test_misc.c ........... Test module: Miscellaneous test_mp.c ............. Test module: Message Ports test_philo.c .......... Test module: Five Dining Philosophers test_pthread.c ........ Test module: Pthread API test_select.c ......... Test module: pth_select(3) handling test_sfio.c ........... Test module: AT&T Sfio support test_sig.c ............ Test module: Signal handling test_std.c ............ Test module: Standard Test @ 1.14 log @update references to OSSP @ text @d4 1 a4 1 | __/| |_| | | | ``Real hackers can write assembly d90 1 a90 1 acheader.m4 ........... Autoconf macros for use with autoheader @ 1.13 log @Woohhooo! Major GNU Pth source tree overhauling: - Removed all generated files from CVS. - Use OSSP devtool stuff to re-generate files on demand. - Switched to Autoconf 2.52 and Libtool 1.4.2 environment. @ text @d16 3 a18 5 hack on the Pth sources can fetch the latest Pth source tree via Anonymous-CVS from a copy of the master source repository. This copy is updated in regular intervals from the authors original CVS repository and can be used for easily keeping local modifications in a checked out tree while the master version is updated over time. d24 1 a24 1 | $ CVSROOT=:pserver:anoncvs@@cvs.engelschall.com:/e/cvs d27 1 a27 1 | (Logging in to anoncvs@@cvs.engelschall.com) d29 1 a29 1 [use `anoncvs' for the password] @ 1.12 log @*** empty log message *** @ text @d97 2 a98 2 configure ............. Autoconf script (pre-generated from configure.in) configure.in .......... Autoconf script source @ 1.11 log @*** empty log message *** @ text @d74 1 @ 1.10 log @*** empty log message *** @ text @d22 3 a24 4 For this you need CVS 1.10 or later. If you still don't have CVS installed, grab it from ftp://download.cyclic.com/pub/ and install it first. Then you can check out the Pth source tree via the following steps: @ 1.9 log @*** empty log message *** @ text @d80 1 d89 1 d131 1 @ 1.8 log @*** empty log message *** @ text @d4 2 a5 2 | __/| |_| | | | |_| \__|_| |_| @ 1.7 log @*** empty log message *** @ text @d17 9 a25 8 Anonymous-CVS from a copy of the master repository. This copy is updated in regular intervals from the authors original CVS repository and can be used for easily keeping local modifications in a checked out tree while the master version is updated over time. For this you need CVS 1.10 or later. If you still don't have CVS installed, grab it from ftp://download.cyclic.com/pub/ and install it first. Then you can check out the Pth source tree via (use ``anoncvs'' for the password): d32 1 d47 4 a50 4 repository, of course (because you've read-only access). But you can let them stay around in the checkout tree and whenever changes occur in the master version (because of commits by the author) you can update your version from time to time via: d58 4 a61 3 If you want to contribute your changes to the author, create a unified difference file as described below and send the file generated pth.diff file to Ralf S. Engelschall or bug-pth@@gnu.org. d66 2 a67 2 Read the comprehensive CVS user manual (included in the CVS distrubtion as doc/cvs.ps) for more details on how to work with CVS. @ 1.6 log @*** empty log message *** @ text @d24 1 a24 1 can check out the Pth source tree via (use ``anoncvs'' as the password): d44 1 a44 1 Then start hacking in your local changes. You cannot commit it to the d87 1 d145 3 @ 1.5 log @*** empty log message *** @ text @d2 4 a5 4 | _ \| |_| |__ | |_) | __| '_ \ | __/| |_| | | | |_| \__|_| |_| d11 1 a11 1 d24 1 a24 1 can check out the Pth source tree via (use ``anoncvs'' as the password): d30 2 a31 2 | CVS password: | $ cvs -z3 checkout pth d59 1 a59 1 d95 1 a95 1 ltmain.sh ............. Libtool main template d151 1 a151 1 test_pthread.c ........ Test module: Pthread API @ 1.4 log @*** empty log message *** @ text @d7 1 a7 1 GNU Pth - GNU Portable Threads @ 1.4.2.1 log @*** empty log message *** @ text @d7 1 a7 1 GNU Pth - The GNU Portable Threads @ 1.3 log @*** empty log message *** @ text @d1 6 a6 6 ____ _ _ | _ \| |_| |__ | |_) | __| '_ \ | __/| |_| | | | |_| \__|_| |_| d11 54 d67 3 @ 1.2 log @*** empty log message *** @ text @d1 6 a6 6 ____ _ _ | _ \| |_| |__ | |_) | __| '_ \ | __/| |_| | | | |_| \__|_| |_| d12 3 a14 47 Those who want to be always at the bleeding edge or even want to hack on the Pth sources can fetch the latest Pth source tree via Anonymous-CVS from a copy of the master repository. This copy is updated in regular intervals from the authors original CVS repository and can be used for easily keeping local modifications in a checked out tree while the master version is updated over time. For this you need CVS 1.10 or later. If you still don't have CVS installed, grab it from ftp://download.cyclic.com/pub/ and install it first. Then you can check out the Pth source tree via (use ``anoncvs'' as the password): | $ CVSROOT=:pserver:anoncvs@@cvs.engelschall.com:/e/cvs | $ export CVSROOT | $ cvs login | (Logging in to anoncvs@@cvs.engelschall.com) | CVS password: | $ cvs -z3 checkout pth | cvs server: Updating pth | U pth/.configure | U pth/.cvsignore | U pth/.gdbinit | U pth/AUTHORS | U pth/COPYING | U pth/ChangeLog | U pth/INSTALL | U pth/Makefile.in | U pth/NEWS | : : Then start hacking in your local changes. You cannot commit it to the repository, of course (because you've read-only access). But you can let them stay around in the checkout tree and whenever changes occur in the master version (because of commits by the author) you can update your version from time to time via: | $ cd pth | $ cvs -z3 update | cvs server: Updating . | U HACKING | : : If you want to contribute your changes to the author, create a unified difference file as described below and send the file generated pth.diff file to Ralf S. Engelschall or bug-pth@@gnu.org. | $ cd pth | $ cvs diff -u3 . >pth.diff d16 83 a98 2 Read the comprehensive CVS user manual (included in the CVS distrubtion as doc/cvs.ps) for more details on how to work with CVS. @ 1.1 log @*** empty log message *** @ text @d23 17 a39 17 | $ CVSROOT=:pserver:anoncvs@@cvs.engelschall.com:/e/cvs | $ export CVSROOT | $ cvs login | (Logging in to anoncvs@@cvs.engelschall.com) | CVS password: | $ cvs -z3 checkout pth | cvs server: Updating pth | U pth/.configure | U pth/.cvsignore | U pth/.gdbinit | U pth/AUTHORS | U pth/COPYING | U pth/ChangeLog | U pth/INSTALL | U pth/Makefile.in | U pth/NEWS | : : d47 5 a51 4 | $ cd pth | $ cvs update | cvs server: Updating . | : : d57 5 a61 2 | $ cd pth | $ cvs diff -u3 . >pth.diff @