On Sat, 27 Sep 2003, Bruce Momjian wrote:
>
> OK, the thread test program is read for platform testing,
> src/tools/thread_test. You will find the README, Makefile tests, and
> program output to be very clear and almost error-proof.
>
> Please run it on platforms we support and report back. Thanks.
Debian linux
kernel 2.2.x (- which was 2.0 or 2.2 of debian I think, can't remember)
glibc 2.1.3
gcc 2.95.2
it looks like the thread stuff is enabled in ports/linux in cvs tip
hmmmm...
software@ponder:~/database/postgres/pgsql/src/tools/thread$ make
gcc -O2 -g -Wall -Wmissing-prototypes -Wmissing-declarations -D_REENTRANT -D_THREAD_SAFE -D_POSIX_PTHREAD_SEMANTICS
-I../../../src/include-D_GNU_SOURCE -c -o thread_test.o thread_test.c
gcc -O2 -g -Wall -Wmissing-prototypes -Wmissing-declarations -D_REENTRANT -D_THREAD_SAFE -D_POSIX_PTHREAD_SEMANTICS
-L../../../src/port -Wl,-rpath,/usr/local/stow/postgresql-7.3.4/lib -lpthread thread_test.o -lpam -lz -lreadline
-lcrypt-lresolv -lnsl -ldl -lm -lpgport -o thread_test
software@ponder:~/database/postgres/pgsql/src/tools/thread$ ./thread_test
Make sure you have added any needed 'THREAD_CPPFLAGS' and 'THREAD_LIBS'
defines to your template/$port file before compiling this program.
Your gethostbyname() is _not_ thread-safe
Your getpwuid() is _not_ thread-safe
Not all non-*_r functions are thread-safe.
Add this to your template/$port file:
NEED_REENTRANT_FUNCS=yes
software@ponder:~/database/postgres/pgsql/src/tools/thread$
Nigel