[ SEA-GHOST MINI SHELL]
____ _ _
| _ \| |_| |__
| |_) | __| '_ \ ``It doesn't need to be
| __/| |_| | | | tested, because it works.''
|_| \__|_| |_| -- Richard Holloway
GNU Pth - The GNU Portable Threads
TESTS
=====
GNU Pth was successfully tested with the following real-world
applications (which are not just trivial sample applications unlike
the shipped test_xxx programs):
o Apache (webserver)
o MySQL (relational database system)
o OpenLDAP (LDAP toolkit)
o pidentd (IDENT daemon)
o Perl (scripting language)
o Python (scripting language)
o gFTP (FTP client)
o NakenChat (chat server)
Details of the tests follow:
Package: Apache
Version: 2.0-dev
URL: http://www.apache.org/
Pth: 1.2b1 [--enable-pthread --disable-shared --enable-syscall-soft]
Platform: i686-pc-freebsd3.1
Tester: Ralf S. Engelschall <rse@engelschall.com>
Date: 30-Aug-1999
Config: CFLAGS="`pthread-config --cflags` \
-DPTHREAD_EVERYWHERE \
-DNO_SERIALIZED_ACCEPT"
LDFLAGS="`pthread-config --ldflags`"
LIBS="`pthread-config --libs`"
--set-rule=MPM_METHOD:dexter
Comment: Apache 2.0-dev is a developer version, `dexter'
is a MPM (multi process model) module based on Pthreads.
The server served around 1000 requests per second.
Package: MySQL
Version: 3.22.25
URL: http://www.mysql.com/
Pth: 1.2b1 [--enable-pthread --disable-shared --enable-syscall-soft]
Platform: i686-pc-freebsd3.1
Tester: Ralf S. Engelschall <rse@engelschall.com>
Date: 30-Aug-1999
Config: CC=egcc CXX=eg++ \
CFLAGS="`pthread-config --cflags`" \
CXXFLAGS="`pthread-config --cflags`" \
LDFLAGS="`pthread-config --ldflags`" \
./configure \
--prefix=/tmp/mysql \
--without-mit-pthreads \
--with-pthread \
--with-named-thread-libs="`pthread-config --libs`"
Comment: MySQL seems to work fine with Pth. I was able to run
the tests from the INSTALL/README documents, i.e. a create
table, a few inserts and a select and the server served them
fine.
Package: OpenLDAP
Version: 2.0-dev
URL: http://www.openldap.org/
Pth: 1.2b1 [--enable-pthread --disable-shared --enable-syscall-soft]
Platform: i686-pc-freebsd3.1
Tester: Ralf S. Engelschall <rse@engelschall.com>
Date: 01-Sep-1999
Config: CPPFLAGS="`pth-config --cflags`" \
LDFLAGS="`pth-config --ldflags`" \
./configure --prefix=/tmp/openldap \
--with-threads=pth
Comments: Still not tested under runtime, just compiled the beast.
Interesting is that OpenLDAP has native Pth support.
Package: pidentd
Version: 3.1a14
URL: ftp://ftp.lysator.liu.se/pub/unix/ident/servers/
Pth: 1.2b1 [--enable-pthread --disable-shared --enable-syscall-soft]
Platform: i686-pc-freebsd3.1
Tester: Ralf S. Engelschall <rse@engelschall.com>
Date: 30-Aug-1999
Config: CFLAGS="`pthread-config --cflags`" \
LDFLAGS="`pthread-config --ldflags`" \
LIBS="`pthread-config --libs`" \
./configure \
--prefix=/tmp/pindent \
--with-threads
Comment: I had to change ``CC="$CC -pthread"'' in `configure' with
``: CC="$CC -pthread"'' in order to avoid the use uthreads under
FreeBSD.
Package: Perl
Version: 5.005_03
URL: http://www.perl.com/
Pth: 1.2b1 [--enable-pthread --disable-shared
--enable-syscall-soft --enable-syscall-hard]
Platform: i686-pc-freebsd3.1
Tester: Ralf S. Engelschall <rse@engelschall.com>
Date: 02-Sep-1999
Config: ./Configure \
-Dusethreads -des \
-Dccflags="`pthread-config --cflags`" \
-Dlibs="`pthread-config --ldflags --libs` -lm" \
-Dprefix=/tmp/perl
Comment: I've tried all tests ext/Thread/*.t. All worked fine,
except for the io.t. Even with Pth's --enable-syscall-hard
Perl seems to use direct I/O for the <STDIN> facility. So
the Pth support for Perl is still not 100%. But perhaps
one can make it complete by using PerlIO abstraction layer
(either directly to use pth_read/write or via Sfio and
pth_sfdisc)? Additionally I had to deactivate the -pthread
in hints/freebsd to get rid of uthread under FreeBSD.
Package: Python
Version: 1.5.2
URL: http://www.python.org/
Pth: 1.2b1 [--enable-pthread --disable-shared --enable-syscall-soft]
Platform: i686-pc-freebsd3.1
Tester: Ralf S. Engelschall <rse@engelschall.com>
Date: 01-Sep-1999
Config: CC="cc `pthread-config --cflags`" \
LDFLAGS="`pthread-config --ldflags`" \
LIBS="`pthread-config --ldflags --libs`" \
./configure \
--prefix=/tmp/python \
--with-thread
Comment: The configure stuff of Python was a little bit strange
(using CFLAGS or CPPFLAGS didn't work), but except for this
Python worked fine. It even passed its "make test" and there
also the test_thread. Seems to work fine with Pth.
Package: gFTP
Version: 2.0.5a
URL: http://gftp.seul.org/
Pth: 1.2b6 [--enable-pthread --disable-shared --enable-syscall-soft]
Platform: i686-pc-freebsd3.1
Tester: Ralf S. Engelschall <rse@engelschall.com>
Date: 04-Oct-1999
Config: CC="cc `pthread-config --cflags`" \
LDFLAGS="`pthread-config --ldflags` `pthread-config --ldflags --libs`" \
./configure \
--prefix=/tmp/gftp
Comment: none
Package: NakenChat
Version: 1.10
URL: http://home.i1.net/~naken/nakenchat/
Pth: 1.2b7 [--enable-pthread]
Platform: i686-pc-freebsd3.1
Tester: Ralf S. Engelschall <rse@engelschall.com>
Date: 19-Oct-1999
Config: cc `pthread-config --cflags` \
-onakenchat nakenchat.c \
`pthread-config --ldflags --libs`
Comment: none
SEA-GHOST - SHELL CODING BY SEA-GHOST