Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGonzalo Paniagua Javier <gonzalo.mono@gmail.com>2004-09-30 05:09:05 +0400
committerGonzalo Paniagua Javier <gonzalo.mono@gmail.com>2004-09-30 05:09:05 +0400
commite185d5449422502fb730915c357a712f70049036 (patch)
tree3f89b82154b24d0f869e648b116cccb1f440da3f
parent6fa080c44359b9f220bc6db9d499b4ed36f566a8 (diff)
2004-09-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* threads.c: don't call mono_thread_detach() in start_wrapper(), avoiding a possible hang in GetCurrentThreadId(0). Fixes bug #65379. svn path=/branches/mono-1-0/mono/; revision=34538
-rw-r--r--mono/metadata/ChangeLog5
-rw-r--r--mono/metadata/threads.c5
2 files changed, 5 insertions, 5 deletions
diff --git a/mono/metadata/ChangeLog b/mono/metadata/ChangeLog
index f8acc1f1ca0..9afd0ec6683 100644
--- a/mono/metadata/ChangeLog
+++ b/mono/metadata/ChangeLog
@@ -1,3 +1,8 @@
+2004-09-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * threads.c: don't call mono_thread_detach() in start_wrapper(),
+ avoiding a possible hang in GetCurrentThreadId(0). Fixes bug #65379.
+
2004-09-28 Zoltan Varga <vargaz@freemail.hu>
* reflection.c (method_encode_code): Align method headers properly.
diff --git a/mono/metadata/threads.c b/mono/metadata/threads.c
index 7a43ab5ff8a..26568288af1 100644
--- a/mono/metadata/threads.c
+++ b/mono/metadata/threads.c
@@ -243,12 +243,9 @@ static guint32 start_wrapper(void *data)
mono_thread_push_appdomain_ref (mono_domain_get ());
thread_adjust_static_data (thread);
-#ifndef PLATFORM_WIN32
#ifdef DEBUG
g_message (G_GNUC_PRETTY_FUNCTION "start_wrapper for %d\n", thread->tid);
#endif
- pthread_cleanup_push ((void (*) (void *)) mono_thread_detach, thread);
-#endif
start_func (this);
#ifdef PLATFORM_WIN32
@@ -273,8 +270,6 @@ static guint32 start_wrapper(void *data)
TlsSetValue (current_object_key, NULL);
thread_cleanup (thread);
-#else
- pthread_cleanup_pop (1);
#endif
return(0);