rbb 99/12/06 10:19:54
Modified: src/lib/apr configure.in src/lib/apr/include apr.h.in apr_portable.h src/lib/apr/locks/unix locks.h src/lib/apr/time/unix atime.h Log: Cleaning up the config stuff for APR even more. We had some small macros that weren't getting defined since the leakage problem was cleared up. I think I fixed this. And all APR macros will be using #if instead of #ifdef from now on. Revision Changes Path 1.33 +33 -2 apache-2.0/src/lib/apr/configure.in Index: configure.in =================================================================== RCS file: /export/home/cvs/apache-2.0/src/lib/apr/configure.in,v retrieving revision 1.32 retrieving revision 1.33 diff -u -r1.32 -r1.33 --- configure.in 1999/12/06 15:47:42 1.32 +++ configure.in 1999/12/06 18:19:26 1.33 @@ -127,8 +127,39 @@ AC_END_DECISION AC_DEFINE_UNQUOTED($ac_decision) -AC_CHECK_LIB(pthread, pthread_mutex_init, AC_DEFINE(USE_PTHREAD_SERIALIZE)) -AC_CHECK_LIB(c_r, pthread_mutex_init, AC_DEFINE(USE_PTHREAD_SERIALIZE)) +if test ".$ac_decision" = ".USE_FLOCK_SERIALIZE"; then + flockser="1" +else + flockser="0" +fi +if test ".$ac_decision" = ".USE_SYSVSEM_SERIALIZE"; then + sysvser="1" +else + sysvser="0" +fi +if test ".$ac_decision" = ".USE_FCNTL_SERIALIZE"; then + fcntlser="1" +else + fcntlser="0" +fi +if test ".$ac_decision" = ".USE_PROC_PTHREAD_SERIALIZE"; then + procpthreadser="1" +else + procpthreadser="0" +fi + +AC_SUBST(flockser) +AC_SUBST(sysvser) +AC_SUBST(fcntlser) +AC_SUBST(procpthreadser) + +AC_CHECK_LIB(pthread, pthread_mutex_init, [ + AC_DEFINE(USE_PTHREAD_SERIALIZE) + pthreadser="1" ], [ pthreadser="0" ]) +AC_CHECK_LIB(c_r, pthread_mutex_init, [ + AC_DEFINE(USE_PTHREAD_SERIALIZE) + pthreadser="1" ], [ pthreadser="0" ]) +AC_SUBST(pthreadser) ac_cv_define_READDIR_IS_THREAD_SAFE=no AC_CHECK_LIB(c_r, readdir, AC_DEFINE(READDIR_IS_THREAD_SAFE)) 1.6 +29 -1 apache-2.0/src/lib/apr/include/apr.h.in Index: apr.h.in =================================================================== RCS file: /export/home/cvs/apache-2.0/src/lib/apr/include/apr.h.in,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- apr.h.in 1999/12/06 15:47:43 1.5 +++ apr.h.in 1999/12/06 18:19:33 1.6 @@ -1,7 +1,29 @@ - #ifndef APR_H #define APR_H +/* So that we can use inline on some critical functions, and use + * GNUC attributes (such as to get -Wall warnings for printf-like + * functions). Only do this in gcc 2.7 or later ... it may work + * on earlier stuff, but why chance it. + * + * We've since discovered that the gcc shipped with NeXT systems + * as "cc" is completely broken. It claims to be __GNUC__ and so + * on, but it doesn't implement half of the things that __GNUC__ + * means. In particular it's missing inline and the __attribute__ + * stuff. So we hack around it. PR#1613. -djg + */ +#if !defined(__GNUC__) || __GNUC__ < 2 || \ + (__GNUC__ == 2 && __GNUC_MINOR__ < 7) ||\ + defined(NEXT) +#define ap_inline +#define __attribute__(__x) +#define ENUM_BITFIELD(e,n,w) signed int n : w +#else +#define ap_inline __inline__ +#define USE_GNU_INLINE +#define ENUM_BITFIELD(e,n,w) e n : w +#endif + #define APR_HAVE_ERRNO_H @errnoh@ #define APR_HAVE_DIRENT_H @direnth@ #define APR_HAVE_FCNTL_H @fcntlh@ @@ -11,6 +33,12 @@ #define APR_HAVE_STDIO_H @stdioh@ #define APR_HAVE_SYS_TYPES_H @sys_typesh@ #define APR_HAVE_SYS_UIO_H @sys_uioh@ + +#define APR_USE_FLOCK_SERIALIZE @flockser@ +#define APR_USE_SYSVSEM_SERIALIZE @sysvser@ +#define APR_USE_FCNTL_SERIALIZE @fcntlser@ +#define APR_USE_PROC_PTHREAD_SERIALIZE @procpthreadser@ +#define APR_USE_PTHREAD_SERIALIZE @pthreadser@ #if APR_HAVE_SYS_TYPES_H #include <sys/types.h> 1.17 +5 -5 apache-2.0/src/lib/apr/include/apr_portable.h Index: apr_portable.h =================================================================== RCS file: /export/home/cvs/apache-2.0/src/lib/apr/include/apr_portable.h,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- apr_portable.h 1999/12/01 20:35:41 1.16 +++ apr_portable.h 1999/12/06 18:19:34 1.17 @@ -141,24 +141,24 @@ #endif struct os_lock_t { -#if defined USE_SYSVSEM_SERIALIZE +#if APR_USE_SYSVSEM_SERIALIZE int crossproc; struct sembuf op_on; struct sembuf op_off; -#elif defined (USE_FCNTL_SERIALIZE) +#elif APR_USE_FCNTL_SERIALIZE int crossproc; struct flock lock_it; struct flock unlock_it; -#elif defined (USE_PROC_PTHREAD_SERIALIZE) +#elif APR_USE_PROC_PTHREAD_SERIALIZE pthread_mutex_t *crossproc; -#elif defined (USE_FLOCK_SERIALIZE) +#elif APR_USE_FLOCK_SERIALIZE int crossproc; #else /* No Interprocess serialization, too bad. */ #endif #if APR_HAS_THREADS /* If no threads, no need for thread locks */ -#if defined (USE_PTHREAD_SERIALIZE) +#if APR_USE_PTHREAD_SERIALIZE pthread_mutex_t *intraproc; #endif #endif 1.7 +4 -4 apache-2.0/src/lib/apr/locks/unix/locks.h Index: locks.h =================================================================== RCS file: /export/home/cvs/apache-2.0/src/lib/apr/locks/unix/locks.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- locks.h 1999/12/03 15:18:27 1.6 +++ locks.h 1999/12/06 18:19:41 1.7 @@ -110,17 +110,17 @@ ap_locktype_e type; int curr_locked; char *fname; -#if defined (USE_SYSVSEM_SERIALIZE) +#if USE_SYSVSEM_SERIALIZE int interproc; struct sembuf op_on; struct sembuf op_off; -#elif defined (USE_FCNTL_SERIALIZE) +#elif USE_FCNTL_SERIALIZE int interproc; struct flock lock_it; struct flock unlock_it; -#elif defined (USE_PROC_PTHREAD_SERIALIZE) +#elif USE_PROC_PTHREAD_SERIALIZE pthread_mutex_t *interproc; -#elif defined (USE_FLOCK_SERIALIZE) +#elif USE_FLOCK_SERIALIZE int interproc; #else /* No Interprocess serialization. Too bad. */ 1.3 +3 -0 apache-2.0/src/lib/apr/time/unix/atime.h Index: atime.h =================================================================== RCS file: /export/home/cvs/apache-2.0/src/lib/apr/time/unix/atime.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- atime.h 1999/12/03 15:18:49 1.2 +++ atime.h 1999/12/06 18:19:48 1.3 @@ -64,6 +64,9 @@ #if HAVE_SYS_TIME_H #include <sys/time.h> #endif +#if HAVE_TIME_H +#include <time.h> +#endif /* End System Headers */ struct atime_t {