Skip to content

Commit

Permalink
Finalize configuration of thread_test program.
Browse files Browse the repository at this point in the history
  • Loading branch information
bmomjian committed Sep 27, 2003
1 parent a6790ce commit 391dceb
Show file tree
Hide file tree
Showing 13 changed files with 39 additions and 30 deletions.
4 changes: 3 additions & 1 deletion configure
Original file line number Diff line number Diff line change
Expand Up @@ -13273,7 +13273,7 @@ fi



if test "$SUPPORTS_THREADS" != yes; then
if test "$THREAD_SUPPORT" != yes; then
{ { echo "$as_me:$LINENO: error:
Cannot enable threads on your platform.
Please report your platform threading info to the PostgreSQL mailing lists
Expand All @@ -13299,6 +13299,7 @@ fi




#
# Check for re-entrant versions of certain functions
#
Expand Down Expand Up @@ -18211,6 +18212,7 @@ s,@python_includespec@,$python_includespec,;t t
s,@python_libspec@,$python_libspec,;t t
s,@LIBOBJS@,$LIBOBJS,;t t
s,@HAVE_IPV6@,$HAVE_IPV6,;t t
s,@THREAD_SUPPORT@,$THREAD_SUPPORT,;t t
s,@THREAD_CPPFLAGS@,$THREAD_CPPFLAGS,;t t
s,@THREAD_LIBS@,$THREAD_LIBS,;t t
s,@HAVE_POSIX_SIGNALS@,$HAVE_POSIX_SIGNALS,;t t
Expand Down
7 changes: 4 additions & 3 deletions configure.in
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
\dnl Process this file with autoconf to produce a configure script.
dnl $Header: /cvsroot/pgsql/configure.in,v 1.291 2003/09/27 15:32:47 momjian Exp $
dnl Process this file with autoconf to produce a configure script.
dnl $Header: /cvsroot/pgsql/configure.in,v 1.292 2003/09/27 16:24:44 momjian Exp $
dnl
dnl Developers, please strive to achieve this order:
dnl
Expand Down Expand Up @@ -1002,7 +1002,7 @@ AC_FUNC_FSEEKO
if test "$enable_thread_safety" = yes; then
AC_CHECK_HEADER(pthread.h, [], [AC_MSG_ERROR([pthread.h not found, required for --enable-thread-safetys])])

if test "$SUPPORTS_THREADS" != yes; then
if test "$THREAD_SUPPORT" != yes; then
AC_MSG_ERROR([
Cannot enable threads on your platform.
Please report your platform threading info to the PostgreSQL mailing lists
Expand All @@ -1016,6 +1016,7 @@ else
THREAD_CPPFLAGS=
THREAD_LIBS=
fi
AC_SUBST(THREAD_SUPPORT)
AC_SUBST(THREAD_CPPFLAGS)
AC_SUBST(THREAD_LIBS)

Expand Down
3 changes: 2 additions & 1 deletion src/Makefile.global.in
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# -*-makefile-*-
# $Header: /cvsroot/pgsql/src/Makefile.global.in,v 1.169 2003/09/27 15:32:47 momjian Exp $
# $Header: /cvsroot/pgsql/src/Makefile.global.in,v 1.170 2003/09/27 16:24:44 momjian Exp $

#------------------------------------------------------------------------------
# All PostgreSQL makefiles include this file and use the variables it sets,
Expand Down Expand Up @@ -150,6 +150,7 @@ TK_LIBS = @TK_LIBS@
TK_LIB_SPEC = @TK_LIB_SPEC@
TK_XINCLUDES = @TK_XINCLUDES@

THREAD_SUPPORT = @THREAD_SUPPORT@
THREAD_CPPFLAGS = @THREAD_CPPFLAGS@
THREAD_LIBS = @THREAD_LIBS@

Expand Down
2 changes: 1 addition & 1 deletion src/template/bsdi
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,5 @@ case $host_os in
;;
esac

SUPPORTS_THREADS=yes
THREAD_SUPPORT=yes
NEED_REENTRANT_FUNCS=no # verified 4.3 2003-09-26
5 changes: 2 additions & 3 deletions src/template/freebsd
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,8 @@ case $host_cpu in
alpha*) CFLAGS="$CFLAGS -O" ;;
esac

SUPPORTS_THREADS=yes
NEED_REENTRANT_FUNCS=yes # 4.8, 5.1 2003-09-12

THREAD_SUPPORT=yes
NEED_REENTRANT_FUNCS=yes
THREAD_CPPFLAGS="-D_THREAD_SAFE"
case $host_os in
freebsd2*|freebsd3*|freebsd4*)
Expand Down
4 changes: 2 additions & 2 deletions src/template/linux
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ CFLAGS=-O2
# Force _GNU_SOURCE on; plperl is broken with Perl 5.8.0 otherwise
CPPFLAGS="-D_GNU_SOURCE"

SUPPORTS_THREADS=yes
NEED_REENTRANT_FUNCS=yes # verified glibc 2.1 2003-09-03
THREAD_SUPPORT=yes
NEED_REENTRANT_FUNCS=yes
THREAD_CPPFLAGS="-D_REENTRANT -D_THREAD_SAFE -D_POSIX_PTHREAD_SEMANTICS"
THREAD_LIBS="-lpthread"

2 changes: 1 addition & 1 deletion src/template/netbsd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
CFLAGS='-O2 -pipe'

SUPPORTS_THREADS=yes
THREAD_SUPPORT=yes
NEED_REENTRANT_FUNCS=yes # 1.6 2003-09-14
2 changes: 1 addition & 1 deletion src/template/osf
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ else
CFLAGS='-O4 -Olimit 2000'
fi

SUPPORTS_THREADS=yes
THREAD_SUPPORT=yes
NEED_REENTRANT_FUNCS=no # 4.0 2003-09-13
THREAD_LIBS="-pthread"
2 changes: 1 addition & 1 deletion src/template/solaris
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ else
CFLAGS=-v # -v is like gcc -Wall
fi

SUPPORTS_THREADS=yes
THREAD_SUPPORT=yes
NEED_REENTRANT_FUNCS=yes # 5.6 2003-09-13
THREAD_LIBS="-pthread"

2 changes: 1 addition & 1 deletion src/template/unixware
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@ else
THREAD_CPPFLAGS="-K pthread"
fi

SUPPORTS_THREADS=yes
THREAD_SUPPORT=yes
NEED_REENTRANT_FUNCS=no # verified 7.1.3 2003-09-03
THREAD_CPPFLAGS="$THREAD_CPPFLAGS -D_REENTRANT"
9 changes: 8 additions & 1 deletion src/tools/thread/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,21 @@
#
# Copyright (C) 2003 by PostgreSQL Global Development Team
#
# $Header: /cvsroot/pgsql/src/tools/thread/Attic/Makefile,v 1.1 2003/09/27 15:32:48 momjian Exp $
# $Header: /cvsroot/pgsql/src/tools/thread/Attic/Makefile,v 1.2 2003/09/27 16:24:45 momjian Exp $
#
#-------------------------------------------------------------------------

subdir = tools/thread
top_builddir = ../../..
include $(top_builddir)/src/Makefile.global

ifeq ($(THREAD_SUPPORT), no)
$(error Your platform does not support threads)
endif
ifeq ($(THREAD_SUPPORT), )
$(error You have not configured your template/$$port file. See the README)
endif

override CFLAGS += $(THREAD_CPPFLAGS)

LDFLAGS += $(THREAD_LIBS)
Expand Down
9 changes: 7 additions & 2 deletions src/tools/thread/README
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,10 @@ new platforms.
Run thread_test program to determine if your native libc functions are
thread-safe, or if we should use *_r functions or thread locking.

Make sure you have added any needed 'THREAD_CPPFLAGS' and 'THREAD_LIBS'
defines to your template/${port} file before compiling this program.
To use this program, you must:

o add "THREAD_SUPPORT=yes" to your template/${port} file
o add any THREAD_CPPFLAGS and THREAD_LIBS defines to your
template/${port} file
o run "configure --enable-thread-safety"
o compile and run this program
18 changes: 6 additions & 12 deletions src/tools/thread/thread_test.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* $Header: /cvsroot/pgsql/src/tools/thread/Attic/thread_test.c,v 1.1 2003/09/27 15:32:48 momjian Exp $
* $Header: /cvsroot/pgsql/src/tools/thread/Attic/thread_test.c,v 1.2 2003/09/27 16:24:45 momjian Exp $
*
* This program tests to see if your standard libc functions use
* pthread_setspecific()/pthread_getspecific() to be thread-safe.
Expand Down Expand Up @@ -58,7 +58,7 @@ int main(int argc, char *argv[])

printf("\
Make sure you have added any needed 'THREAD_CPPFLAGS' and 'THREAD_LIBS'\n\
defines to your template/${port} file before compiling this program.\n\n"
defines to your template/$port file before compiling this program.\n\n"
);
pthread_create(&thread1, NULL, (void * (*)(void *)) func_call_1, NULL);
pthread_create(&thread2, NULL, (void * (*)(void *)) func_call_2, NULL);
Expand All @@ -82,20 +82,14 @@ defines to your template/${port} file before compiling this program.\n\n"
strerror_p1 != strerror_p2)
{
printf("All your non-*_r functions are thread-safe.\n");
printf("Add this to your template/${port} file:\n\n");
printf("\
SUPPORTS_THREADS=yes\n\
NEED_REENTRANT_FUNCS=no\n"
);
printf("Add this to your template/$port file:\n\n");
printf("NEED_REENTRANT_FUNCS=no\n");
}
else
{
printf("Not all non-*_r functions are thread-safe.\n");
printf("Add this to your template/${port} file:\n\n");
printf("\
SUPPORTS_THREADS=yes\n\
NEED_REENTRANT_FUNCS=yes\n"
);
printf("Add this to your template/$port file:\n\n");
printf("NEED_REENTRANT_FUNCS=yes\n");
}

return 0;
Expand Down

0 comments on commit 391dceb

Please sign in to comment.