pg.ddx.io  pgsql-interfaces@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Bruce Momjian <pgman@candle.pha.pa.us>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Shridhar Daithankar <shridhar_daithankar@persistent.co.in>
Cc: PostgreSQL-patches <pgsql-patches@postgresql.org>
Subject: Re: [HACKERS] ECPG thread-safety
Date: Mon, 26 May 2003 14:20:06 -0400 (EDT)
Message-ID: <200305261820.h4QIK6N09826@candle.pha.pa.us> (raw)
In-Reply-To: <4002.1053972773@sss.pgh.pa.us>

Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > diff -c -c -r1.47 pg_config.h.in
> > *** src/include/pg_config.h.in	22 May 2003 16:39:30 -0000	1.47
> > --- src/include/pg_config.h.in	26 May 2003 16:57:57 -0000
> 
> Bruce, you do realize that you're not supposed to hand-edit
> pg_config.h.in anymore?  Use autoheader to build it from configure.in.

You mentioned that recently, and I wasn't sure exactly how you did it,
and figured I would research it later.

I got it working and here is the updated patch --- thanks.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
Index: configure.in
===================================================================
RCS file: /cvsroot/pgsql-server/configure.in,v
retrieving revision 1.253
diff -c -c -r1.253 configure.in
*** configure.in	22 May 2003 16:39:28 -0000	1.253
--- configure.in	26 May 2003 18:19:14 -0000
***************
*** 506,511 ****
--- 506,514 ----
                [  --without-zlib          do not use Zlib])
  
  
+ #
+ # Elf
+ #
  
  # Assume system is ELF if it predefines __ELF__ as 1,
  # otherwise believe host_os based default.
***************
*** 527,533 ****
--- 530,560 ----
  fi])
  AC_SUBST(ELF_SYS)
  
+ #
+ # Pthreads
+ #
  
+ AC_CHECK_HEADER(pthread.h,
+ 	[AC_DEFINE(HAVE_THREADS, 1, [Define to 1 if you have the threads interface.])])
+ if test ! -z "$HAVE_THREADS"
+ then	
+ 	case $host_os in
+ 		# BSD/OS and NetBSD require no special libraries or flags
+ 		netbsd*|bsdi*) ;;
+ 		freebsd4*) THREAD_CFLAGS="-pthread" ;;
+ 		freebsd*) THREAD_LIBS="-lc_r" ;;
+ 		linux*) THREAD_LIBS="-lpthread"
+ 			THREAD_CFLAGS="-D_REENTRANT" ;;
+ 	# other operating systems might fail because they have pthread.h but need
+ 	# special libs we don't know about yet.
+ 	esac
+ fi
+ AC_SUBST(THREAD_LIBS)
+ AC_SUBST(THREAD_CFLAGS)
+ 
+ #
+ # Assignments
+ #
  
  CPPFLAGS="$CPPFLAGS $INCLUDES"
  LDFLAGS="$LDFLAGS $LIBDIRS"
Index: src/Makefile.global.in
===================================================================
RCS file: /cvsroot/pgsql-server/src/Makefile.global.in,v
retrieving revision 1.162
diff -c -c -r1.162 Makefile.global.in
*** src/Makefile.global.in	11 May 2003 20:50:53 -0000	1.162
--- src/Makefile.global.in	26 May 2003 18:19:15 -0000
***************
*** 152,157 ****
--- 152,160 ----
  TK_LIB_SPEC		= @TK_LIB_SPEC@
  TK_XINCLUDES		= @TK_XINCLUDES@
  
+ THREAD_CFLAGS		= @THREAD_CFLAGS@
+ THREAD_LIBS		= @THREAD_LIBS@
+ 
  have_docbook	= @have_docbook@
  DOCBOOKSTYLE	= @DOCBOOKSTYLE@
  COLLATEINDEX	= @COLLATEINDEX@
Index: src/include/pg_config.h.in
===================================================================
RCS file: /cvsroot/pgsql-server/src/include/pg_config.h.in,v
retrieving revision 1.47
diff -c -c -r1.47 pg_config.h.in
*** src/include/pg_config.h.in	22 May 2003 16:39:30 -0000	1.47
--- src/include/pg_config.h.in	26 May 2003 18:19:16 -0000
***************
*** 465,470 ****
--- 465,473 ----
  /* Define to 1 if you have the <termios.h> header file. */
  #undef HAVE_TERMIOS_H
  
+ /* Define to 1 if you have the threads interface. */
+ #undef HAVE_THREADS
+ 
  /* Define to 1 if your `struct tm' has `tm_zone'. Deprecated, use
     `HAVE_STRUCT_TM_TM_ZONE' instead. */
  #undef HAVE_TM_ZONE

Attachments:

/pgpatches/threads (text/plain, 2.6K) download Index: configure.in =================================================================== RCS file: /cvsroot/pgsql-server/configure.in,v retrieving revision 1.253 diff -c -c -r1.253 configure.in *** configure.in 22 May 2003 16:39:28 -0000 1.253 --- configure.in 26 May 2003 18:19:14 -0000 *************** *** 506,511 **** --- 506,514 ---- [ --without-zlib do not use Zlib]) + # + # Elf + # # Assume system is ELF if it predefines __ELF__ as 1, # otherwise believe host_os based default. *************** *** 527,533 **** --- 530,560 ---- fi]) AC_SUBST(ELF_SYS) + # + # Pthreads + # + AC_CHECK_HEADER(pthread.h, + [AC_DEFINE(HAVE_THREADS, 1, [Define to 1 if you have the threads interface.])]) + if test ! -z "$HAVE_THREADS" + then + case $host_os in + # BSD/OS and NetBSD require no special libraries or flags + netbsd*|bsdi*) ;; + freebsd4*) THREAD_CFLAGS="-pthread" ;; + freebsd*) THREAD_LIBS="-lc_r" ;; + linux*) THREAD_LIBS="-lpthread" + THREAD_CFLAGS="-D_REENTRANT" ;; + # other operating systems might fail because they have pthread.h but need + # special libs we don't know about yet. + esac + fi + AC_SUBST(THREAD_LIBS) + AC_SUBST(THREAD_CFLAGS) + + # + # Assignments + # CPPFLAGS="$CPPFLAGS $INCLUDES" LDFLAGS="$LDFLAGS $LIBDIRS" Index: src/Makefile.global.in =================================================================== RCS file: /cvsroot/pgsql-server/src/Makefile.global.in,v retrieving revision 1.162 diff -c -c -r1.162 Makefile.global.in *** src/Makefile.global.in 11 May 2003 20:50:53 -0000 1.162 --- src/Makefile.global.in 26 May 2003 18:19:15 -0000 *************** *** 152,157 **** --- 152,160 ---- TK_LIB_SPEC = @TK_LIB_SPEC@ TK_XINCLUDES = @TK_XINCLUDES@ + THREAD_CFLAGS = @THREAD_CFLAGS@ + THREAD_LIBS = @THREAD_LIBS@ + have_docbook = @have_docbook@ DOCBOOKSTYLE = @DOCBOOKSTYLE@ COLLATEINDEX = @COLLATEINDEX@ Index: src/include/pg_config.h.in =================================================================== RCS file: /cvsroot/pgsql-server/src/include/pg_config.h.in,v retrieving revision 1.47 diff -c -c -r1.47 pg_config.h.in *** src/include/pg_config.h.in 22 May 2003 16:39:30 -0000 1.47 --- src/include/pg_config.h.in 26 May 2003 18:19:16 -0000 *************** *** 465,470 **** --- 465,473 ---- /* Define to 1 if you have the <termios.h> header file. */ #undef HAVE_TERMIOS_H + /* Define to 1 if you have the threads interface. */ + #undef HAVE_THREADS + /* Define to 1 if your `struct tm' has `tm_zone'. Deprecated, use `HAVE_STRUCT_TM_TM_ZONE' instead. */ #undef HAVE_TM_ZONE

view thread (35+ messages)  latest in thread

Message-ID: <200305261820.h4QIK6N09826@candle.pha.pa.us>
Permalink:  ../200305261820.h4QIK6N09826@candle.pha.pa.us/
Also on:    postgresql.org/message-id/200305261820.h4QIK6N09826@candle.pha.pa.us

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-interfaces@postgresql.org
  Cc: pgman@candle.pha.pa.us, tgl@sss.pgh.pa.us, shridhar_daithankar@persistent.co.in, pgsql-patches@postgresql.org
  Subject: Re: [HACKERS] ECPG thread-safety
  In-Reply-To: <200305261820.h4QIK6N09826@candle.pha.pa.us>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox