Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src-draft/trunk]: src/share/mk Adjust fork handling in new jemalloc, switch ...
details: https://anonhg.NetBSD.org/src-all/rev/4de6255cbd5e
branches: trunk
changeset: 932667:4de6255cbd5e
user: Joerg Sonnenberger <joerg%bec.de@localhost>
date: Thu Apr 30 16:33:06 2020 +0200
description:
Adjust fork handling in new jemalloc, switch back to it for testing
diffstat:
external/bsd/jemalloc/dist/src/jemalloc.c | 18 ++++++++++++++----
external/bsd/jemalloc/dist/src/mutex.c | 3 +++
share/mk/bsd.own.mk | 2 +-
3 files changed, 18 insertions(+), 5 deletions(-)
diffs (81 lines):
diff -r 1280a7c68b9a -r 4de6255cbd5e external/bsd/jemalloc/dist/src/jemalloc.c
--- a/external/bsd/jemalloc/dist/src/jemalloc.c Fri Apr 17 18:26:28 2020 +0200
+++ b/external/bsd/jemalloc/dist/src/jemalloc.c Thu Apr 30 16:33:06 2020 +0200
@@ -1,5 +1,9 @@
#include <sys/cdefs.h>
+#ifdef __NetBSD__
+#include "extern.h"
+#endif
+
#define JEMALLOC_C_
#include "jemalloc/internal/jemalloc_preamble.h"
#include "jemalloc/internal/jemalloc_internal_includes.h"
@@ -1383,7 +1387,7 @@
#if (defined(JEMALLOC_HAVE_PTHREAD_ATFORK) && !defined(JEMALLOC_MUTEX_INIT_CB) \
&& !defined(JEMALLOC_ZONE) && !defined(_WIN32) && \
- !defined(__native_client__))
+ !defined(__native_client__) && !defined(__NetBSD__))
/* LinuxThreads' pthread_atfork() allocates. */
if (pthread_atfork(jemalloc_prefork, jemalloc_postfork_parent,
jemalloc_postfork_child) != 0) {
@@ -3221,7 +3225,7 @@
}
#endif
-#ifndef JEMALLOC_MUTEX_INIT_CB
+#if !defined(JEMALLOC_MUTEX_INIT_CB) && !defined(__NetBSD__)
void
jemalloc_prefork(void)
#else
@@ -3294,7 +3298,7 @@
prof_prefork1(tsd_tsdn(tsd));
}
-#ifndef JEMALLOC_MUTEX_INIT_CB
+#if !defined(JEMALLOC_MUTEX_INIT_CB) && !defined(__NetBSD__)
void
jemalloc_postfork_parent(void)
#else
@@ -3332,8 +3336,14 @@
ctl_postfork_parent(tsd_tsdn(tsd));
}
+#if !defined(__NetBSD__)
void
-jemalloc_postfork_child(void) {
+jemalloc_postfork_child(void)
+#else
+JEMALLOC_EXPORT void
+_malloc_postfork_child(void)
+#endif
+{
tsd_t *tsd;
unsigned i, narenas;
diff -r 1280a7c68b9a -r 4de6255cbd5e external/bsd/jemalloc/dist/src/mutex.c
--- a/external/bsd/jemalloc/dist/src/mutex.c Fri Apr 17 18:26:28 2020 +0200
+++ b/external/bsd/jemalloc/dist/src/mutex.c Thu Apr 30 16:33:06 2020 +0200
@@ -157,6 +157,9 @@
return true;
}
}
+#elif MALLOC_MUTEX_TYPE == PTHREAD_MUTEX_DEFAULT
+ if (pthread_mutex_init(&mutex->lock, NULL) == -1)
+ return true;
#else
pthread_mutexattr_t attr;
diff -r 1280a7c68b9a -r 4de6255cbd5e share/mk/bsd.own.mk
--- a/share/mk/bsd.own.mk Fri Apr 17 18:26:28 2020 +0200
+++ b/share/mk/bsd.own.mk Thu Apr 30 16:33:06 2020 +0200
@@ -183,7 +183,7 @@
# What version of jemalloc we use (100 is the one
# built-in to libc from 2005 (pre version 3).
#
-HAVE_JEMALLOC?= 100
+HAVE_JEMALLOC?= 510
.if empty(.MAKEFLAGS:tW:M*-V .OBJDIR*)
.if defined(MAKEOBJDIRPREFIX) || defined(MAKEOBJDIR)
Home |
Main Index |
Thread Index |
Old Index