diff options
| author | christos <christos@NetBSD.org> | 2019-03-05 01:35:52 +0000 |
|---|---|---|
| committer | christos <christos@NetBSD.org> | 2019-03-05 01:35:52 +0000 |
| commit | 03bbc0809832cfc64ebef984c1dae5d64c95bfca (patch) | |
| tree | 11c70e20854dd6c80f39bb8826532c3af2e9134b /lib/libpthread/pthread.c | |
| parent | 9dc824f400679beae5c68745c5200ca0478a7c3d (diff) | |
Transfer all the keys that were created in the libc stub implementation
to the pthread tsd implementation when the main thread is created.
This corrects a problem where a process created keys before libpthread
was loaded (either from the libc constructor or because libpthread
was dlopened later). This fixes a problem with jemalloc which creates
keys in the constructor.
Diffstat (limited to 'lib/libpthread/pthread.c')
| -rw-r--r-- | lib/libpthread/pthread.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/libpthread/pthread.c b/lib/libpthread/pthread.c index 56c060a9c35..47add900ee6 100644 --- a/lib/libpthread/pthread.c +++ b/lib/libpthread/pthread.c @@ -1,4 +1,4 @@ -/* $NetBSD: pthread.c,v 1.152 2018/08/19 02:10:42 kamil Exp $ */ +/* $NetBSD: pthread.c,v 1.153 2019/03/05 01:35:52 christos Exp $ */ /*- * Copyright (c) 2001, 2002, 2003, 2006, 2007, 2008 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__RCSID("$NetBSD: pthread.c,v 1.152 2018/08/19 02:10:42 kamil Exp $"); +__RCSID("$NetBSD: pthread.c,v 1.153 2019/03/05 01:35:52 christos Exp $"); #define __EXPOSE_STACK 1 @@ -1330,6 +1330,7 @@ pthread__initmainstack(void) break; } } + pthread__copy_tsd(pthread__main); } /* |
