mirror of
https://github.com/jemalloc/jemalloc.git
synced 2026-07-23 21:23:06 +00:00
Add "prof.dump_prefix" to override filename prefixes for dumps.
This commit is contained in:
27
src/ctl.c
27
src/ctl.c
@@ -148,6 +148,7 @@ CTL_PROTO(prof_thread_active_init)
|
||||
CTL_PROTO(prof_active)
|
||||
CTL_PROTO(prof_dump)
|
||||
CTL_PROTO(prof_gdump)
|
||||
CTL_PROTO(prof_dump_prefix)
|
||||
CTL_PROTO(prof_reset)
|
||||
CTL_PROTO(prof_interval)
|
||||
CTL_PROTO(lg_prof_sample)
|
||||
@@ -413,6 +414,7 @@ static const ctl_named_node_t prof_node[] = {
|
||||
{NAME("active"), CTL(prof_active)},
|
||||
{NAME("dump"), CTL(prof_dump)},
|
||||
{NAME("gdump"), CTL(prof_gdump)},
|
||||
{NAME("dump_prefix"), CTL(prof_dump_prefix)},
|
||||
{NAME("reset"), CTL(prof_reset)},
|
||||
{NAME("interval"), CTL(prof_interval)},
|
||||
{NAME("lg_sample"), CTL(lg_prof_sample)},
|
||||
@@ -1416,6 +1418,11 @@ ctl_postfork_child(tsdn_t *tsdn) {
|
||||
malloc_mutex_postfork_child(tsdn, &ctl_mtx);
|
||||
}
|
||||
|
||||
void
|
||||
ctl_mtx_assert_held(tsdn_t *tsdn) {
|
||||
malloc_mutex_assert_owner(tsdn, &ctl_mtx);
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
/* *_ctl() functions. */
|
||||
|
||||
@@ -2720,6 +2727,26 @@ label_return:
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int
|
||||
prof_dump_prefix_ctl(tsd_t *tsd, const size_t *mib, size_t miblen,
|
||||
void *oldp, size_t *oldlenp, void *newp, size_t newlen) {
|
||||
int ret;
|
||||
const char *prefix = NULL;
|
||||
|
||||
if (!config_prof) {
|
||||
return ENOENT;
|
||||
}
|
||||
|
||||
malloc_mutex_lock(tsd_tsdn(tsd), &ctl_mtx);
|
||||
WRITEONLY();
|
||||
WRITE(prefix, const char *);
|
||||
|
||||
ret = prof_dump_prefix_set(tsd_tsdn(tsd), prefix) ? EFAULT : 0;
|
||||
label_return:
|
||||
malloc_mutex_unlock(tsd_tsdn(tsd), &ctl_mtx);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int
|
||||
prof_reset_ctl(tsd_t *tsd, const size_t *mib, size_t miblen,
|
||||
void *oldp, size_t *oldlenp, void *newp, size_t newlen) {
|
||||
|
||||
Reference in New Issue
Block a user