summaryrefslogtreecommitdiff
path: root/includes/Local.h
diff options
context:
space:
mode:
Diffstat (limited to 'includes/Local.h')
-rw-r--r--includes/Local.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/includes/Local.h b/includes/Local.h
index d009de7..f1174c4 100644
--- a/includes/Local.h
+++ b/includes/Local.h
@@ -28,7 +28,12 @@ extern TLSManager * g_tlsManager;
class Local : public AtStart {
public:
static int getSize() { return s_size; }
- static void * createTLS() { void * r = calloc(s_size * sizeof(void *), 1); return r; }
+ static void * createTLS(void * c = NULL) {
+ void * r = calloc(s_size * sizeof(void *), 1);
+ if (c)
+ memcpy(r, c, s_size * sizeof(void *));
+ return r;
+ }
protected:
Local() : AtStart(0) { }
void * getGlobal() { return m_globals[m_idx]; }