summaryrefslogtreecommitdiffstats
path: root/src/tsd.c
diff options
context:
space:
mode:
authorJason Evans <jasone@canonware.com>2016-05-12 21:51:07 (GMT)
committerJason Evans <jasone@canonware.com>2016-05-12 21:53:25 (GMT)
commitf70a254d44c8d30af2cd5d30531fb18fdabaae6d (patch)
tree4e226a1bd0d56d742ca0950f69829ed7f0216e62 /src/tsd.c
parente02b83cc5e3c4d30f93dba945162e3aa58d962d6 (diff)
parent09f8585ce8a57baa387cc0327e51c0baffbdce6f (diff)
downloadjemalloc-4.2.0.zip
jemalloc-4.2.0.tar.gz
jemalloc-4.2.0.tar.bz2
Merge branch 'dev'4.2.0
Diffstat (limited to 'src/tsd.c')
-rw-r--r--src/tsd.c22
1 files changed, 12 insertions, 10 deletions
diff --git a/src/tsd.c b/src/tsd.c
index 34c1573..aeaa5e1 100644
--- a/src/tsd.c
+++ b/src/tsd.c
@@ -77,7 +77,7 @@ tsd_cleanup(void *arg)
/* Do nothing. */
break;
case tsd_state_nominal:
-#define O(n, t) \
+#define O(n, t) \
n##_cleanup(tsd);
MALLOC_TSD
#undef O
@@ -106,15 +106,17 @@ MALLOC_TSD
}
}
-bool
+tsd_t *
malloc_tsd_boot0(void)
{
+ tsd_t *tsd;
ncleanups = 0;
if (tsd_boot0())
- return (true);
- *tsd_arenas_tdata_bypassp_get(tsd_fetch()) = true;
- return (false);
+ return (NULL);
+ tsd = tsd_fetch();
+ *tsd_arenas_tdata_bypassp_get(tsd) = true;
+ return (tsd);
}
void
@@ -169,10 +171,10 @@ tsd_init_check_recursion(tsd_init_head_t *head, tsd_init_block_t *block)
tsd_init_block_t *iter;
/* Check whether this thread has already inserted into the list. */
- malloc_mutex_lock(&head->lock);
+ malloc_mutex_lock(NULL, &head->lock);
ql_foreach(iter, &head->blocks, link) {
if (iter->thread == self) {
- malloc_mutex_unlock(&head->lock);
+ malloc_mutex_unlock(NULL, &head->lock);
return (iter->data);
}
}
@@ -180,7 +182,7 @@ tsd_init_check_recursion(tsd_init_head_t *head, tsd_init_block_t *block)
ql_elm_new(block, link);
block->thread = self;
ql_tail_insert(&head->blocks, block, link);
- malloc_mutex_unlock(&head->lock);
+ malloc_mutex_unlock(NULL, &head->lock);
return (NULL);
}
@@ -188,8 +190,8 @@ void
tsd_init_finish(tsd_init_head_t *head, tsd_init_block_t *block)
{
- malloc_mutex_lock(&head->lock);
+ malloc_mutex_lock(NULL, &head->lock);
ql_remove(&head->blocks, block, link);
- malloc_mutex_unlock(&head->lock);
+ malloc_mutex_unlock(NULL, &head->lock);
}
#endif