Normalize background thread configuration.
Also fix a compilation error #ifndef JEMALLOC_PTHREAD_CREATE_WRAPPER.
This commit is contained in:
parent
94d655b8bd
commit
13685ab1b7
10
configure.ac
10
configure.ac
@ -1452,6 +1452,7 @@ if test "x$abi" != "xpecoff" ; then
|
|||||||
[AC_SEARCH_LIBS([pthread_create], , ,
|
[AC_SEARCH_LIBS([pthread_create], , ,
|
||||||
AC_MSG_ERROR([libpthread is missing]))])
|
AC_MSG_ERROR([libpthread is missing]))])
|
||||||
wrap_syms="${wrap_syms} pthread_create"
|
wrap_syms="${wrap_syms} pthread_create"
|
||||||
|
have_pthread="1"
|
||||||
dnl Check if we have dlsym support.
|
dnl Check if we have dlsym support.
|
||||||
have_dlsym="1"
|
have_dlsym="1"
|
||||||
AC_CHECK_HEADERS([dlfcn.h],
|
AC_CHECK_HEADERS([dlfcn.h],
|
||||||
@ -1933,6 +1934,15 @@ if test "x${enable_zone_allocator}" = "x1" ; then
|
|||||||
AC_DEFINE([JEMALLOC_ZONE], [ ])
|
AC_DEFINE([JEMALLOC_ZONE], [ ])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
dnl ============================================================================
|
||||||
|
dnl Enable background threads if possible.
|
||||||
|
|
||||||
|
if test "x${have_pthread}" = "x1" -a "x${have_dlsym}" = "x1" \
|
||||||
|
-a "x${je_cv_os_unfair_lock}" != "xyes" \
|
||||||
|
-a "x${je_cv_osspin}" != "xyes" ; then
|
||||||
|
AC_DEFINE([JEMALLOC_BACKGROUND_THREAD])
|
||||||
|
fi
|
||||||
|
|
||||||
dnl ============================================================================
|
dnl ============================================================================
|
||||||
dnl Check for glibc malloc hooks
|
dnl Check for glibc malloc hooks
|
||||||
|
|
||||||
|
@ -316,6 +316,11 @@
|
|||||||
/* GNU specific sched_setaffinity support */
|
/* GNU specific sched_setaffinity support */
|
||||||
#undef JEMALLOC_HAVE_SCHED_SETAFFINITY
|
#undef JEMALLOC_HAVE_SCHED_SETAFFINITY
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If defined, all the features necessary for background threads are present.
|
||||||
|
*/
|
||||||
|
#undef JEMALLOC_BACKGROUND_THREAD
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If defined, jemalloc symbols are not exported (doesn't work when
|
* If defined, jemalloc symbols are not exported (doesn't work when
|
||||||
* JEMALLOC_PREFIX is not defined).
|
* JEMALLOC_PREFIX is not defined).
|
||||||
|
@ -168,12 +168,6 @@ static const bool force_ivsalloc =
|
|||||||
false
|
false
|
||||||
#endif
|
#endif
|
||||||
;
|
;
|
||||||
|
|
||||||
#if (defined(JEMALLOC_HAVE_PTHREAD) && defined(JEMALLOC_HAVE_DLSYM) \
|
|
||||||
&& !defined(JEMALLOC_OSSPIN) && !defined(JEMALLOC_OS_UNFAIR_LOCK))
|
|
||||||
/* Currently background thread supports pthread only. */
|
|
||||||
#define JEMALLOC_BACKGROUND_THREAD
|
|
||||||
#endif
|
|
||||||
static const bool have_background_thread =
|
static const bool have_background_thread =
|
||||||
#ifdef JEMALLOC_BACKGROUND_THREAD
|
#ifdef JEMALLOC_BACKGROUND_THREAD
|
||||||
true
|
true
|
||||||
|
@ -635,7 +635,9 @@ background_thread_stats_read(tsdn_t *tsdn, background_thread_stats_t *stats) {
|
|||||||
void
|
void
|
||||||
background_thread_ctl_init(tsdn_t *tsdn) {
|
background_thread_ctl_init(tsdn_t *tsdn) {
|
||||||
malloc_mutex_assert_not_owner(tsdn, &background_thread_lock);
|
malloc_mutex_assert_not_owner(tsdn, &background_thread_lock);
|
||||||
|
#ifdef JEMALLOC_PTHREAD_CREATE_WRAPPER
|
||||||
pthread_once(&once_control, pthread_create_wrapper_once);
|
pthread_once(&once_control, pthread_create_wrapper_once);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* defined(JEMALLOC_BACKGROUND_THREAD) */
|
#endif /* defined(JEMALLOC_BACKGROUND_THREAD) */
|
||||||
|
Loading…
Reference in New Issue
Block a user