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
path: root/libgc
diff options
context:
space:
mode:
authorZoltan Varga <vargaz@gmail.com>2005-04-06 18:21:51 +0400
committerZoltan Varga <vargaz@gmail.com>2005-04-06 18:21:51 +0400
commitf141720b9efa02365dcdb3d9bdd16acc099c094c (patch)
treebd752f3feb1819bb26cfbc70d482a6155fda5b48 /libgc
parent0b521f3abab9b9cc2a556328024a21af90bc970f (diff)
2005-04-06 Zoltan Varga <vargaz@freemail.hu>
* solaris_pthreads.c (GC_pthread_detach): Add locking. svn path=/trunk/mono/; revision=42607
Diffstat (limited to 'libgc')
-rw-r--r--libgc/ChangeLog2
-rw-r--r--libgc/solaris_pthreads.c7
2 files changed, 8 insertions, 1 deletions
diff --git a/libgc/ChangeLog b/libgc/ChangeLog
index 976a9718060..f244a9643e7 100644
--- a/libgc/ChangeLog
+++ b/libgc/ChangeLog
@@ -1,5 +1,7 @@
2005-04-06 Zoltan Varga <vargaz@freemail.hu>
+ * solaris_pthreads.c (GC_pthread_detach): Add locking.
+
* include/gc_pthread_redirects.h (pthread_detach): Override pthread_detach too.
* solaris_pthreads.c (GC_pthread_detach): Override pthread_detach too. Fixes
diff --git a/libgc/solaris_pthreads.c b/libgc/solaris_pthreads.c
index 742433a5dd3..819454b439f 100644
--- a/libgc/solaris_pthreads.c
+++ b/libgc/solaris_pthreads.c
@@ -65,10 +65,15 @@ int GC_pthread_join(pthread_t wait_for, void **status)
int GC_pthread_detach(pthread_t thread)
{
- GC_thread t = GC_lookup_thread(thread);
+ GC_thread t;
+ LOCK();
+ t=GC_lookup_thread(thread);
+ UNLOCK();
if (t) {
+ LOCK();
t->flags |= DETACHED;
+ UNLOCK();
return 0;
}
else