Re: Thread-safe questions in configure - Mailing list pgsql-hackers
From | Bruce Momjian |
---|---|
Subject | Re: Thread-safe questions in configure |
Date | |
Msg-id | 200307221639.h6MGdAr26366@candle.pha.pa.us Whole thread Raw |
In response to | Thread-safe questions in configure (Peter Eisentraut <peter_e@gmx.net>) |
List | pgsql-hackers |
Peter Eisentraut wrote: > I have two questions about the support for thread-safe clients in > configure: > > configure sets NEED_REENTRANT_FUNC_NAMES=no, overwriting the template > setting. Why? Forgot to remove it when I moved the stuff to templates. > The check for reentrant functions says: > > # Include special flags if threads are enabled _and_ if required for > # threading on this platform. Some platforms have *_r functions but > # their natively named funcs are threadsafe, and should be used instead. > > But the actual check does not check if "threads are enabled", only if it's > required on the platform (which doesn't work -- see above). > > Is this some kind of transition state "to be fixed later"? The only transition state is in my head. :-) Patch attached and applied. -- 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 =================================================================== RCS file: /cvsroot/pgsql-server/configure,v retrieving revision 1.276 diff -c -c -r1.276 configure *** configure 23 Jun 2003 23:51:57 -0000 1.276 --- configure 22 Jul 2003 16:37:15 -0000 *************** *** 12807,12813 **** # For each platform, we need to know about any special compile and link # libraries, and whether the normal C function names are thread-safe. # - NEED_REENTRANT_FUNC_NAMES=no if test "$with_threads" = yes; then if test "${ac_cv_header_pthread_h+set}" = set; then echo "$as_me:$LINENO: checking for pthread.h" >&5 --- 12807,12812 ---- *************** *** 12924,12936 **** { { echo "$as_me:$LINENO: error: Cannot enable threads on your platform. Please report your platform threading info to the PostgreSQL mailing lists ! so it can be added to the next release. Report any compile flags, link flags, functions, or libraries required for threading support. " >&5 echo "$as_me: error: Cannot enable threads on your platform. Please report your platform threading info to the PostgreSQL mailing lists ! so it can be added to the next release. Report any compile flags, link flags, functions, or libraries required for threading support. " >&2;} { (exit 1); exit 1; }; } --- 12923,12935 ---- { { echo "$as_me:$LINENO: error: Cannot enable threads on your platform. Please report your platform threading info to the PostgreSQL mailing lists ! so it can be added to the next release. Report all compile flags, link flags, functions, or libraries required for threading support. " >&5 echo "$as_me: error: Cannot enable threads on your platform. Please report your platform threading info to the PostgreSQL mailing lists ! so it can be added to the next release. Report all compile flags, link flags, functions, or libraries required for threading support. " >&2;} { (exit 1); exit 1; }; } *************** *** 12947,12956 **** # threading on this platform. Some platforms have *_r functions but # their natively named funcs are threadsafe, and should be used instead. # ! # One trick here is that if the don't call AC_CHECK_FUNCS, the # functions are marked "not found", which is perfect. # ! if test "$NEED_REENTRANT_FUNC_NAMES" = yes ; then _CFLAGS="$CFLAGS" _LIB="$LIBS" CFLAGS="$CFLAGS $TREAD_CFLAGS" --- 12946,12955 ---- # threading on this platform. Some platforms have *_r functions but # their natively named funcs are threadsafe, and should be used instead. # ! # One trick here is that if we don't call AC_CHECK_FUNCS, the # functions are marked "not found", which is perfect. # ! if test "$with_threads" = yes -a "$NEED_REENTRANT_FUNC_NAMES" = yes ; then _CFLAGS="$CFLAGS" _LIB="$LIBS" CFLAGS="$CFLAGS $TREAD_CFLAGS" Index: configure.in =================================================================== RCS file: /cvsroot/pgsql-server/configure.in,v retrieving revision 1.267 diff -c -c -r1.267 configure.in *** configure.in 23 Jun 2003 23:51:59 -0000 1.267 --- configure.in 22 Jul 2003 16:37:16 -0000 *************** *** 965,971 **** # For each platform, we need to know about any special compile and link # libraries, and whether the normal C function names are thread-safe. # - NEED_REENTRANT_FUNC_NAMES=no if test "$with_threads" = yes; then AC_CHECK_HEADER(pthread.h, [], [AC_MSG_ERROR([pthread.h not found, required for --with-threads])]) --- 965,970 ---- *************** *** 973,979 **** AC_MSG_ERROR([ Cannot enable threads on your platform. Please report your platform threading info to the PostgreSQL mailing lists ! so it can be added to the next release. Report any compile flags, link flags, functions, or libraries required for threading support. ]) fi --- 972,978 ---- AC_MSG_ERROR([ Cannot enable threads on your platform. Please report your platform threading info to the PostgreSQL mailing lists ! so it can be added to the next release. Report all compile flags, link flags, functions, or libraries required for threading support. ]) fi *************** *** 989,998 **** # threading on this platform. Some platforms have *_r functions but # their natively named funcs are threadsafe, and should be used instead. # ! # One trick here is that if the don't call AC_CHECK_FUNCS, the # functions are marked "not found", which is perfect. # ! if test "$NEED_REENTRANT_FUNC_NAMES" = yes ; then _CFLAGS="$CFLAGS" _LIB="$LIBS" CFLAGS="$CFLAGS $TREAD_CFLAGS" --- 988,997 ---- # threading on this platform. Some platforms have *_r functions but # their natively named funcs are threadsafe, and should be used instead. # ! # One trick here is that if we don't call AC_CHECK_FUNCS, the # functions are marked "not found", which is perfect. # ! if test "$with_threads" = yes -a "$NEED_REENTRANT_FUNC_NAMES" = yes ; then _CFLAGS="$CFLAGS" _LIB="$LIBS" CFLAGS="$CFLAGS $TREAD_CFLAGS"
pgsql-hackers by date: