diff options
author | joerg <joerg@pkgsrc.org> | 2013-11-15 14:01:45 +0000 |
---|---|---|
committer | joerg <joerg@pkgsrc.org> | 2013-11-15 14:01:45 +0000 |
commit | 37d7c20b313b7cd6e8876f23c89be3a3594f8fb5 (patch) | |
tree | cb694af461ea87fcd90fcaa4b97f072535456486 /lang | |
parent | 43a2ae0478204e3f0f4414a7e084747a1cb15b7e (diff) | |
download | pkgsrc-37d7c20b313b7cd6e8876f23c89be3a3594f8fb5.tar.gz |
Restore fragment from patch-dg that deals with not using
pthread_setspecific with a deleted key.
Diffstat (limited to 'lang')
-rw-r--r-- | lang/mono/distinfo | 4 | ||||
-rw-r--r-- | lang/mono/patches/patch-dg | 42 |
2 files changed, 41 insertions, 5 deletions
diff --git a/lang/mono/distinfo b/lang/mono/distinfo index 45826857800..e313753435c 100644 --- a/lang/mono/distinfo +++ b/lang/mono/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.93 2013/09/13 20:47:55 jperkin Exp $ +$NetBSD: distinfo,v 1.94 2013/11/15 14:01:45 joerg Exp $ SHA1 (mono-3.0.10.tar.bz2) = 7646d3ecb2dc2e7fd12c7fc661e7a500b9833e64 RMD160 (mono-3.0.10.tar.bz2) = d2c4dc64b233f51f6ec8be4ee1f3ef08f0099057 @@ -33,7 +33,7 @@ SHA1 (patch-db) = 515fdc97e5d70b5ecb2fdb6e4a1693df1b67f1a0 SHA1 (patch-dc) = c3f7763d019226473b3b6b22d4ab2511b6a65fa4 SHA1 (patch-de) = 7e74a64c6be7fe38fe870a1c56d13825500d421c SHA1 (patch-df) = 2a74937a5bd5f70b337aa216c31cb9cd30623023 -SHA1 (patch-dg) = 499e92b825f8de33d2b5470440ef37eba8201eca +SHA1 (patch-dg) = 15b7a4d7a27ff2e712b565c56c7fbc996b50cb4e SHA1 (patch-dh) = d0f32afdeecefbd12df00d41809b405fdb56cbe0 SHA1 (patch-di) = 2e590f0491edf6ab8d253f99a23c6b9644ac3bc5 SHA1 (patch-dj) = 2a3b4ab8b8eaf2aa0a10c867596ba3eb8d12a1b9 diff --git a/lang/mono/patches/patch-dg b/lang/mono/patches/patch-dg index 5e031486f4f..41df1f22ad5 100644 --- a/lang/mono/patches/patch-dg +++ b/lang/mono/patches/patch-dg @@ -1,7 +1,27 @@ -$NetBSD: patch-dg,v 1.6 2013/05/29 11:11:12 wiz Exp $ ---- mono/metadata/threads.c.orig 2012-12-05 17:44:34.000000000 +0000 +$NetBSD: patch-dg,v 1.7 2013/11/15 14:01:45 joerg Exp $ + +--- mono/metadata/threads.c.orig 2013-04-25 09:07:19.000000000 +0000 +++ mono/metadata/threads.c -@@ -826,8 +826,16 @@ mono_thread_get_stack_bounds (guint8 **s +@@ -86,6 +86,8 @@ size_t pthread_get_stacksize_np(pthread_ + # endif + #endif + ++static int tls_key_initialised; ++ + struct StartInfo + { + guint32 (*func)(void *); +@@ -634,7 +636,8 @@ static guint32 WINAPI start_wrapper_inte + * Boehm GC - the io-layer keeps a GC-visible hash of pointers + * to TLS data.) + */ +- SET_CURRENT_OBJECT (NULL); ++ if (tls_key_initialised) ++ SET_CURRENT_OBJECT (NULL); + + return(0); + } +@@ -881,8 +884,16 @@ mono_thread_get_stack_bounds (guint8 **s # if !defined(__OpenBSD__) pthread_attr_getstack (&attr, (void**)staddr, stsize); # endif @@ -18,3 +38,19 @@ $NetBSD: patch-dg,v 1.6 2013/05/29 11:11:12 wiz Exp $ # endif pthread_attr_destroy (&attr); +@@ -2573,6 +2584,7 @@ void mono_thread_init (MonoThreadStartCB + + MONO_FAST_TLS_INIT (tls_current_object); + mono_native_tls_alloc (¤t_object_key, NULL); ++ tls_key_initialised = 1; + THREAD_DEBUG (g_message ("%s: Allocated current_object_key %d", __func__, current_object_key)); + + mono_thread_start_cb = start_cb; +@@ -2616,6 +2628,7 @@ void mono_thread_cleanup (void) + #endif + + mono_native_tls_free (current_object_key); ++ tls_key_initialised = 0; + } + + void |