Return-Path: Delivered-To: apmail-apr-cvs-archive@apr.apache.org Received: (qmail 21007 invoked by uid 500); 5 Jul 2001 00:02:11 -0000 Mailing-List: contact cvs-help@apr.apache.org; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Reply-To: dev@apr.apache.org Delivered-To: mailing list cvs@apr.apache.org Received: (qmail 20996 invoked by uid 1121); 5 Jul 2001 00:02:10 -0000 Date: 5 Jul 2001 00:02:10 -0000 Message-ID: <20010705000210.20995.qmail@apache.org> From: trawick@apache.org To: apr-cvs@apache.org Subject: cvs commit: apr/build apr_common.m4 trawick 01/07/04 17:02:10 Modified: . configure.in build apr_common.m4 Log: Stop trying to provide cross-process pthread mutexes on systems where the form of shared memory used with this code isn't available. This gets APR_HAS_PROC_PTHREAD_SERIALIZE set to 0 on (at least) HP-UX and OS/390. Revision Changes Path 1.328 +7 -2 apr/configure.in Index: configure.in =================================================================== RCS file: /home/cvs/apr/configure.in,v retrieving revision 1.327 retrieving revision 1.328 diff -u -r1.327 -r1.328 --- configure.in 2001/07/02 19:36:44 1.327 +++ configure.in 2001/07/05 00:02:09 1.328 @@ -912,6 +912,7 @@ echo $ac_n "${nl}Checking for Locking...${nl}" AC_CHECK_FUNCS(semget semctl flock) +APR_CHECK_FILE(/dev/zero) # It's stupid, but not all platforms have union semun, even those that need it. AC_MSG_CHECKING(for union semun in sys/sem.h) @@ -973,7 +974,10 @@ APR_IFALLYES(func:semget func:semctl define:SEM_UNDO, hassysvser="1", hassysvser="0") APR_IFALLYES(func:flock define:LOCK_EX, hasflockser="1", hasflockser="0") APR_IFALLYES(header:fcntl.h define:F_SETLK, hasfcntlser="1", hasfcntlser="0") -APR_IFALLYES(header:pthread.h define:PTHREAD_PROCESS_SHARED func:pthread_mutexattr_setpshared, hasprocpthreadser="1", hasprocpthreadser="0") +# note: the current APR use of shared mutex requires /dev/zero +APR_IFALLYES(header:pthread.h define:PTHREAD_PROCESS_SHARED dnl + func:pthread_mutexattr_setpshared file:/dev/zero, + hasprocpthreadser="1", hasprocpthreadser="0") APR_IFALLYES(struct:pthread_rw, hasrwlockser="1", hasrwlockser="0") # See which lock mechanism we'll select by default on this system. @@ -983,8 +987,9 @@ APR_DECIDE(USE_SYSVSEM_SERIALIZE, [SysV IPC semget()])) APR_IFALLYES(func:flock define:LOCK_EX, APR_DECIDE(USE_FLOCK_SERIALIZE, [4.2BSD-style flock()])) +# note: the current APR use of shared mutex requires /dev/zero APR_IFALLYES(header:pthread.h define:PTHREAD_PROCESS_SHARED dnl - func:pthread_mutexattr_setpshared, + func:pthread_mutexattr_setpshared file:/dev/zero, APR_DECIDE(USE_PROC_PTHREAD_SERIALIZE, [pthread mutex])) APR_IFALLYES(header:fcntl.h define:F_SETLK, APR_DECIDE(USE_FCNTL_SERIALIZE, [SVR4-style fcntl()])) 1.20 +19 -0 apr/build/apr_common.m4 Index: apr_common.m4 =================================================================== RCS file: /home/cvs/apr/build/apr_common.m4,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- apr_common.m4 2001/07/01 05:49:44 1.19 +++ apr_common.m4 2001/07/05 00:02:10 1.20 @@ -224,6 +224,25 @@ ], ac_cv_define_$1=yes, ac_cv_define_$1=no) ]) +define(APR_CHECK_FILE,[ +ac_safe=`echo "$1" | sed 'y%./+-%__p_%'` +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(ac_cv_file_$ac_safe, [ + if test -r $1; then + eval "ac_cv_file_$ac_safe=yes" + else + eval "ac_cv_file_$ac_safe=no" + fi +])dnl +if eval "test \"`echo '$ac_cv_file_'$ac_safe`\" = yes"; then + AC_MSG_RESULT(yes) + ifelse([$2], , :, [$2]) +else + AC_MSG_RESULT(no) +ifelse([$3], , , [$3]) +fi +]) + define(APR_IFALLYES,[dnl ac_rc=yes for ac_spec in $1; do