From 96f2eb8f8a21f13bcc534dbc434fa918cd5fea62 Mon Sep 17 00:00:00 2001 From: des Date: Mon, 25 Jul 2005 14:44:11 +0000 Subject: Disable thread support in BIND. It appears to reduce performance rather than increase it, and seems to be the cause of the memory leaks which some users have reported. Requested by: dougb MFC after: 5 days --- Makefile.inc1 | 8 -------- lib/bind/bind/config.h | 8 ++++++++ lib/bind/config.h | 19 ++++++++++++------- lib/bind/config.mk | 16 +--------------- lib/bind/isc/Makefile | 12 ++++++------ lib/bind/isc/isc/platform.h | 2 +- usr.bin/dig/Makefile | 4 ++-- usr.bin/host/Makefile | 4 ++-- usr.bin/nslookup/Makefile | 4 ++-- usr.bin/nsupdate/Makefile | 4 ++-- usr.sbin/dnssec-keygen/Makefile | 4 ++-- usr.sbin/dnssec-signzone/Makefile | 4 ++-- usr.sbin/named-checkconf/Makefile | 4 ++-- usr.sbin/named-checkzone/Makefile | 4 ++-- usr.sbin/named/Makefile | 4 ++-- usr.sbin/rndc-confgen/Makefile | 4 ++-- usr.sbin/rndc/Makefile | 4 ++-- 17 files changed, 50 insertions(+), 59 deletions(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index cb18de6..08130a4 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -973,14 +973,6 @@ _prebuild_libs+= lib/libcom_err lib/libcrypt lib/libexpat \ lib/libopie__L lib/libtacplus__L: lib/libmd__L -.if !defined(NO_BIND) -.if ${MACHINE_ARCH} == "alpha" || ${MACHINE_ARCH} == "sparc64" -_prebuild_libs+= lib/libc_r -.else -_prebuild_libs+= lib/libpthread -.endif -.endif - _generic_libs+= lib .if !defined(NO_CRYPT) diff --git a/lib/bind/bind/config.h b/lib/bind/bind/config.h index 1d5285f..ac563d3 100644 --- a/lib/bind/bind/config.h +++ b/lib/bind/bind/config.h @@ -46,3 +46,11 @@ extern __inline int __sputaux(int _c, struct __sFILE *_p); #endif /* #undef BROKEN_IN6ADDR_INIT_MACROS */ #define HAVE_STRLCAT 1 +/* Shut up warnings about missing braces */ +/* #undef SHUTUP_MUTEX_INITIALIZER */ +#ifdef SHUTUP_MUTEX_INITIALIZER +#define LIBBIND_MUTEX_INITIALIZER { PTHREAD_MUTEX_INITIALIZER } +#else +#define LIBBIND_MUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER +#endif + diff --git a/lib/bind/config.h b/lib/bind/config.h index eb9594e..42d2c14 100644 --- a/lib/bind/config.h +++ b/lib/bind/config.h @@ -36,7 +36,7 @@ /* #undef NEED_PTHREAD_INIT */ /* define if your system has sigwait() */ -#define HAVE_SIGWAIT 1 +/* #undef HAVE_SIGWAIT */ /* define if sigwait() is the UnixWare flavor */ /* #undef HAVE_UNIXWARE_SIGWAIT */ @@ -48,7 +48,7 @@ /* #undef HAVE_LINUXTHREADS */ /* define if sysconf() is available */ -#define HAVE_SYSCONF 1 +/* #undef HAVE_SYSCONF */ /* define if sysctlbyname() is available */ #define HAVE_SYSCTLBYNAME 1 @@ -129,10 +129,10 @@ int sigwait(const unsigned int *set, int *sig); #define PATH_RANDOMDEV "/dev/random" /* define if pthread_attr_getstacksize() is available */ -#define HAVE_PTHREAD_ATTR_GETSTACKSIZE 1 +/* #undef HAVE_PTHREAD_ATTR_GETSTACKSIZE */ /* define if pthread_attr_setstacksize() is available */ -#define HAVE_PTHREAD_ATTR_SETSTACKSIZE 1 +/* #undef HAVE_PTHREAD_ATTR_SETSTACKSIZE */ /* define if you have strerror in the C library. */ #define HAVE_STRERROR 1 @@ -149,6 +149,9 @@ int sigwait(const unsigned int *set, int *sig); /* Define if threads need PTHREAD_SCOPE_SYSTEM */ /* #undef NEED_PTHREAD_SCOPE_SYSTEM */ +/* Define to 1 if you have the header file. */ +/* #undef HAVE_DLFCN_H */ + /* Define to 1 if you have the header file. */ #define HAVE_FCNTL_H 1 @@ -165,7 +168,7 @@ int sigwait(const unsigned int *set, int *sig); /* #undef HAVE_LIBNSL */ /* Define to 1 if you have the `pthread' library (-lpthread). */ -#define HAVE_LIBPTHREAD 1 +/* #undef HAVE_LIBPTHREAD */ /* Define to 1 if you have the `scf' library (-lscf). */ /* #undef HAVE_LIBSCF */ @@ -252,9 +255,11 @@ int sigwait(const unsigned int *set, int *sig); /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ -/* Define as `__inline' if that's what the C compiler calls it, or to nothing - if it is not supported. */ +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus /* #undef inline */ +#endif /* Define to `unsigned' if does not define. */ /* #undef size_t */ diff --git a/lib/bind/config.mk b/lib/bind/config.mk index ac8d433..15d8122 100644 --- a/lib/bind/config.mk +++ b/lib/bind/config.mk @@ -74,7 +74,7 @@ LIBISCCFG= ${LIB_BIND_REL}/isccfg/libisccfg.a CFLAGS+= -I${BIND_DIR}/lib/isccfg/include LIBISC= ${LIB_BIND_REL}/isc/libisc.a CFLAGS+= -I${BIND_DIR}/lib/isc/unix/include \ - -I${BIND_DIR}/lib/isc/pthreads/include \ + -I${BIND_DIR}/lib/isc/nothreads/include \ -I${BIND_DIR}/lib/isc/include \ -I${LIB_BIND_DIR}/isc LIBLWRES= ${LIB_BIND_REL}/lwres/liblwres.a @@ -95,17 +95,3 @@ BIND_LDADD= ${BIND_DPADD} CRYPTO_DPADD= ${LIBCRYPTO} CRYPTO_LDADD= -lcrypto .endif - -# Link against POSIX threads library -.if ${MACHINE_ARCH} == "alpha" || ${MACHINE_ARCH} == "sparc64" -.if defined(NO_LIBC_R) -.error "BIND requires libpthread - define NO_BIND, or undefine NO_LIBC_R" -.endif -.else -.if defined(NO_LIBPTHREAD) -.error "BIND requires libpthread - define NO_BIND, or undefine NO_LIBPTHREAD" -.endif -.endif - -PTHREAD_DPADD= ${LIBPTHREAD} -PTHREAD_LDADD= -lpthread diff --git a/lib/bind/isc/Makefile b/lib/bind/isc/Makefile index 6114bd0..c296235 100644 --- a/lib/bind/isc/Makefile +++ b/lib/bind/isc/Makefile @@ -19,7 +19,7 @@ SRCS+= app.c dir.c entropy.c \ .PATH: ${SRCDIR}/nls SRCS+= msgcat.c \ -.PATH: ${SRCDIR}/pthreads +.PATH: ${SRCDIR}/nothreads SRCS+= condition.c mutex.c \ thread.c @@ -35,7 +35,7 @@ SRCS+= inet_pton.c \ serial.c sha1.c sockaddr.c string.c strtoul.c \ symtab.c task.c taskpool.c timer.c version.c -CFLAGS+= -I${SRCDIR}/unix/include -I${SRCDIR}/pthreads/include +CFLAGS+= -I${SRCDIR}/unix/include -I${SRCDIR}/nothreads/include CFLAGS+= -I${SRCDIR}/include -I${.CURDIR} DPADD= ${PTHREAD_DPADD} @@ -104,10 +104,10 @@ INCS= ${SRCDIR}/include/isc/app.h \ ${SRCDIR}/include/isc/types.h \ ${SRCDIR}/include/isc/util.h \ ${SRCDIR}/include/isc/version.h \ - ${SRCDIR}/pthreads/include/isc/condition.h \ - ${SRCDIR}/pthreads/include/isc/mutex.h \ - ${SRCDIR}/pthreads/include/isc/once.h \ - ${SRCDIR}/pthreads/include/isc/thread.h \ + ${SRCDIR}/nothreads/include/isc/condition.h \ + ${SRCDIR}/nothreads/include/isc/mutex.h \ + ${SRCDIR}/nothreads/include/isc/once.h \ + ${SRCDIR}/nothreads/include/isc/thread.h \ ${SRCDIR}/unix/include/isc/dir.h \ ${SRCDIR}/unix/include/isc/int.h \ ${SRCDIR}/unix/include/isc/keyboard.h \ diff --git a/lib/bind/isc/isc/platform.h b/lib/bind/isc/isc/platform.h index be0e8eb..c40be12 100644 --- a/lib/bind/isc/isc/platform.h +++ b/lib/bind/isc/isc/platform.h @@ -158,7 +158,7 @@ /* * Defined if we are using threads. */ -#define ISC_PLATFORM_USETHREADS 1 +#undef ISC_PLATFORM_USETHREADS /* * Defined if unistd.h does not cause fd_set to be delared. diff --git a/usr.bin/dig/Makefile b/usr.bin/dig/Makefile index d7ec398..0f19499 100644 --- a/usr.bin/dig/Makefile +++ b/usr.bin/dig/Makefile @@ -14,7 +14,7 @@ SRCS+= dig.c dighost.c CFLAGS+= -I${SRCDIR}/include -DPADD+= ${BIND_DPADD} ${CRYPTO_DPADD} ${PTHREAD_DPADD} -LDADD+= ${BIND_LDADD} ${CRYPTO_LDADD} ${PTHREAD_LDADD} +DPADD+= ${BIND_DPADD} ${CRYPTO_DPADD} +LDADD+= ${BIND_LDADD} ${CRYPTO_LDADD} .include diff --git a/usr.bin/host/Makefile b/usr.bin/host/Makefile index ed244350..998a496 100644 --- a/usr.bin/host/Makefile +++ b/usr.bin/host/Makefile @@ -14,7 +14,7 @@ SRCS+= dighost.c host.c CFLAGS+= -I${SRCDIR}/include -DPADD+= ${BIND_DPADD} ${CRYPTO_DPADD} ${PTHREAD_DPADD} -LDADD+= ${BIND_LDADD} ${CRYPTO_LDADD} ${PTHREAD_LDADD} +DPADD+= ${BIND_DPADD} ${CRYPTO_DPADD} +LDADD+= ${BIND_LDADD} ${CRYPTO_LDADD} .include diff --git a/usr.bin/nslookup/Makefile b/usr.bin/nslookup/Makefile index 244dc4ee..c8a2dda 100644 --- a/usr.bin/nslookup/Makefile +++ b/usr.bin/nslookup/Makefile @@ -14,7 +14,7 @@ SRCS+= dighost.c nslookup.c CFLAGS+= -I${SRCDIR}/include -DPADD+= ${BIND_DPADD} ${CRYPTO_DPADD} ${PTHREAD_DPADD} -LDADD+= ${BIND_LDADD} ${CRYPTO_LDADD} ${PTHREAD_LDADD} +DPADD+= ${BIND_DPADD} ${CRYPTO_DPADD} +LDADD+= ${BIND_LDADD} ${CRYPTO_LDADD} .include diff --git a/usr.bin/nsupdate/Makefile b/usr.bin/nsupdate/Makefile index ea01287..3bc6506 100644 --- a/usr.bin/nsupdate/Makefile +++ b/usr.bin/nsupdate/Makefile @@ -14,8 +14,8 @@ SRCS+= nsupdate.c CFLAGS+= -I${SRCDIR}/include -DPADD+= ${BIND_DPADD} ${CRYPTO_DPADD} ${PTHREAD_DPADD} -LDADD+= ${BIND_LDADD} ${CRYPTO_LDADD} ${PTHREAD_LDADD} +DPADD+= ${BIND_DPADD} ${CRYPTO_DPADD} +LDADD+= ${BIND_LDADD} ${CRYPTO_LDADD} MAN= nsupdate.8 diff --git a/usr.sbin/dnssec-keygen/Makefile b/usr.sbin/dnssec-keygen/Makefile index 3ac9005..0964188 100644 --- a/usr.sbin/dnssec-keygen/Makefile +++ b/usr.sbin/dnssec-keygen/Makefile @@ -14,8 +14,8 @@ SRCS+= dnssec-keygen.c dnssectool.c CFLAGS+= -I${SRCDIR}/unix/include -I${SRCDIR}/include -DPADD+= ${BIND_DPADD} ${CRYPTO_DPADD} ${PTHREAD_DPADD} -LDADD+= ${BIND_LDADD} ${CRYPTO_LDADD} ${PTHREAD_LDADD} +DPADD+= ${BIND_DPADD} ${CRYPTO_DPADD} +LDADD+= ${BIND_LDADD} ${CRYPTO_LDADD} MAN= dnssec-keygen.8 diff --git a/usr.sbin/dnssec-signzone/Makefile b/usr.sbin/dnssec-signzone/Makefile index 7c4ca65..73dcc75 100644 --- a/usr.sbin/dnssec-signzone/Makefile +++ b/usr.sbin/dnssec-signzone/Makefile @@ -14,8 +14,8 @@ SRCS+= dnssec-signzone.c dnssectool.c CFLAGS+= -I${SRCDIR}/unix/include -I${SRCDIR}/include -DPADD+= ${BIND_DPADD} ${CRYPTO_DPADD} ${PTHREAD_DPADD} -LDADD+= ${BIND_LDADD} ${CRYPTO_LDADD} ${PTHREAD_LDADD} +DPADD+= ${BIND_DPADD} ${CRYPTO_DPADD} +LDADD+= ${BIND_LDADD} ${CRYPTO_LDADD} MAN= dnssec-signzone.8 diff --git a/usr.sbin/named-checkconf/Makefile b/usr.sbin/named-checkconf/Makefile index 8728b4a..0a631f9 100644 --- a/usr.sbin/named-checkconf/Makefile +++ b/usr.sbin/named-checkconf/Makefile @@ -14,8 +14,8 @@ SRCS+= named-checkconf.c check-tool.c CFLAGS+= -I${LIB_BIND_DIR} -DPADD+= ${BIND_DPADD} ${CRYPTO_DPADD} ${PTHREAD_DPADD} -LDADD+= ${BIND_LDADD} ${CRYPTO_LDADD} ${PTHREAD_LDADD} +DPADD+= ${BIND_DPADD} ${CRYPTO_DPADD} +LDADD+= ${BIND_LDADD} ${CRYPTO_LDADD} MAN= named-checkconf.8 diff --git a/usr.sbin/named-checkzone/Makefile b/usr.sbin/named-checkzone/Makefile index 39384e5..1a7d191 100644 --- a/usr.sbin/named-checkzone/Makefile +++ b/usr.sbin/named-checkzone/Makefile @@ -14,8 +14,8 @@ SRCS+= named-checkzone.c check-tool.c CFLAGS+= -I${LIB_BIND_DIR} -DPADD+= ${BIND_DPADD} ${CRYPTO_DPADD} ${PTHREAD_DPADD} -LDADD+= ${BIND_LDADD} ${CRYPTO_LDADD} ${PTHREAD_LDADD} +DPADD+= ${BIND_DPADD} ${CRYPTO_DPADD} +LDADD+= ${BIND_LDADD} ${CRYPTO_LDADD} MAN= named-checkzone.8 diff --git a/usr.sbin/named/Makefile b/usr.sbin/named/Makefile index 4cf8db3..fe294ea 100644 --- a/usr.sbin/named/Makefile +++ b/usr.sbin/named/Makefile @@ -24,8 +24,8 @@ SRCS+= aclconf.c builtin.c client.c config.c control.c \ CFLAGS+= -I${SRCDIR}/unix/include -I${SRCDIR}/include -I${LIB_BIND_DIR} -DPADD+= ${BIND_DPADD} ${CRYPTO_DPADD} ${PTHREAD_DPADD} -LDADD+= ${BIND_LDADD} ${CRYPTO_LDADD} ${PTHREAD_LDADD} +DPADD+= ${BIND_DPADD} ${CRYPTO_DPADD} +LDADD+= ${BIND_LDADD} ${CRYPTO_LDADD} MAN= named.8 lwresd.8 named.conf.5 diff --git a/usr.sbin/rndc-confgen/Makefile b/usr.sbin/rndc-confgen/Makefile index b8a52dd..e924f5c 100644 --- a/usr.sbin/rndc-confgen/Makefile +++ b/usr.sbin/rndc-confgen/Makefile @@ -17,8 +17,8 @@ SRCS+= rndc-confgen.c util.c CFLAGS+= -I${SRCDIR}/unix/include -I${SRCDIR}/include -I${LIB_BIND_DIR} -DPADD+= ${BIND_DPADD} ${CRYPTO_DPADD} ${PTHREAD_DPADD} -LDADD+= ${BIND_LDADD} ${CRYPTO_LDADD} ${PTHREAD_LDADD} +DPADD+= ${BIND_DPADD} ${CRYPTO_DPADD} +LDADD+= ${BIND_LDADD} ${CRYPTO_LDADD} MAN= rndc-confgen.8 diff --git a/usr.sbin/rndc/Makefile b/usr.sbin/rndc/Makefile index 2ca7697..70c5d6d 100644 --- a/usr.sbin/rndc/Makefile +++ b/usr.sbin/rndc/Makefile @@ -17,8 +17,8 @@ SRCS+= rndc.c util.c CFLAGS+= -I${SRCDIR}/unix/include -I${SRCDIR}/include -I${LIB_BIND_DIR} -DPADD+= ${BIND_DPADD} ${CRYPTO_DPADD} ${PTHREAD_DPADD} -LDADD+= ${BIND_LDADD} ${CRYPTO_LDADD} ${PTHREAD_LDADD} +DPADD+= ${BIND_DPADD} ${CRYPTO_DPADD} +LDADD+= ${BIND_LDADD} ${CRYPTO_LDADD} MAN= rndc.8 rndc.conf.5 -- cgit v1.1