summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorMike Hommey <mh@glandium.org>2012-04-18 16:29:47 (GMT)
committerJason Evans <jasone@canonware.com>2012-04-19 02:23:32 (GMT)
commit7ff1ce4131651fea1df7b1c010d71667bc574816 (patch)
tree4abfcada7043b8e7221489c464d4b5689a269735 /include
parent86e58583bb443fcfe885a1a96b466ab5933cb443 (diff)
downloadjemalloc-7ff1ce4131651fea1df7b1c010d71667bc574816.zip
jemalloc-7ff1ce4131651fea1df7b1c010d71667bc574816.tar.gz
jemalloc-7ff1ce4131651fea1df7b1c010d71667bc574816.tar.bz2
Initialize all members of non-TLS tsd wrapper when creating it
Not setting the initialized member leads to randomly calling the cleanup function in cases it shouldn't be called (and isn't called in other implementations).
Diffstat (limited to 'include')
-rw-r--r--include/jemalloc/internal/tsd.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/jemalloc/internal/tsd.h b/include/jemalloc/internal/tsd.h
index 35ae5e3..3f953f9 100644
--- a/include/jemalloc/internal/tsd.h
+++ b/include/jemalloc/internal/tsd.h
@@ -253,6 +253,7 @@ a_name##_tsd_get_wrapper(void) \
} else { \
static a_type tsd_static_data = a_initializer; \
wrapper->isstatic = false; \
+ wrapper->initialized = false; \
wrapper->val = tsd_static_data; \
} \
if (pthread_setspecific(a_name##_tsd, \