Do not enable lazy locking by default.

Do not enable lazy locking by default, because:
- It's fragile (applications can subvert detection of multi-threaded
  mode).
- Thread caching amortizes locking overhead in the default
  configuration.
This commit is contained in:
Jason Evans 2012-02-13 12:36:11 -08:00
parent 6ffbbeb5d6
commit 0fee70d718
2 changed files with 6 additions and 6 deletions

View File

@ -128,8 +128,8 @@ any of the following arguments (not a definitive list) to 'configure':
a measurable impact on performance, since the compiler is forced to load a measurable impact on performance, since the compiler is forced to load
the page size from memory rather than embedding immediate values. the page size from memory rather than embedding immediate values.
--disable-lazy-lock --enable-lazy-lock
Disable code that wraps pthread_create() to detect when an application Enable code that wraps pthread_create() to detect when an application
switches from single-threaded to multi-threaded mode, so that it can avoid switches from single-threaded to multi-threaded mode, so that it can avoid
mutex locking/unlocking operations while in single-threaded mode. In mutex locking/unlocking operations while in single-threaded mode. In
practice, this feature usually has little impact on performance unless practice, this feature usually has little impact on performance unless

View File

@ -730,17 +730,17 @@ AC_CHECK_LIB([pthread], [pthread_create], [LIBS="$LIBS -lpthread"],
CPPFLAGS="$CPPFLAGS -D_REENTRANT" CPPFLAGS="$CPPFLAGS -D_REENTRANT"
dnl Enable lazy locking by default. dnl Disable lazy locking by default.
AC_ARG_ENABLE([lazy_lock], AC_ARG_ENABLE([lazy_lock],
[AS_HELP_STRING([--disable-lazy-lock], [AS_HELP_STRING([--enable-lazy-lock],
[Disable lazy locking (always lock, even when single-threaded)])], [Enable lazy locking (only lock when multi-threaded)])],
[if test "x$enable_lazy_lock" = "xno" ; then [if test "x$enable_lazy_lock" = "xno" ; then
enable_lazy_lock="0" enable_lazy_lock="0"
else else
enable_lazy_lock="1" enable_lazy_lock="1"
fi fi
], ],
[enable_lazy_lock="1"] [enable_lazy_lock="0"]
) )
if test "x$enable_lazy_lock" = "x1" ; then if test "x$enable_lazy_lock" = "x1" ; then
AC_CHECK_HEADERS([dlfcn.h], , [AC_MSG_ERROR([dlfcn.h is missing])]) AC_CHECK_HEADERS([dlfcn.h], , [AC_MSG_ERROR([dlfcn.h is missing])])