Author: dick
Date: 2007-10-15 10:49:07 -0400 (Mon, 15 Oct 2007)
New Revision: 87515
Modified:
trunk/mcs/class/corlib/System.Threading/ChangeLog
trunk/mcs/class/corlib/System.Threading/Thread.cs
Log:
2007-10-15 Dick Porter <[EMAIL PROTECTED]>
* Thread.cs: Initialise synch_cs to null now we aren't using it as
a monitor lock
Modified: trunk/mcs/class/corlib/System.Threading/ChangeLog
===================================================================
--- trunk/mcs/class/corlib/System.Threading/ChangeLog 2007-10-15 14:48:35 UTC
(rev 87514)
+++ trunk/mcs/class/corlib/System.Threading/ChangeLog 2007-10-15 14:49:07 UTC
(rev 87515)
@@ -1,3 +1,8 @@
+2007-10-15 Dick Porter <[EMAIL PROTECTED]>
+
+ * Thread.cs: Initialise synch_cs to null now we aren't using it as
+ a monitor lock
+
2007-09-25 Dick Porter <[EMAIL PROTECTED]>
* Thread.cs: Keep ManagedThreadId constant over the lifetime of a
Modified: trunk/mcs/class/corlib/System.Threading/Thread.cs
===================================================================
--- trunk/mcs/class/corlib/System.Threading/Thread.cs 2007-10-15 14:48:35 UTC
(rev 87514)
+++ trunk/mcs/class/corlib/System.Threading/Thread.cs 2007-10-15 14:49:07 UTC
(rev 87515)
@@ -88,8 +88,8 @@
private IntPtr suspend_event;
private IntPtr suspended_event;
private IntPtr resume_event;
- /* Don't lock on synch_lock in managed code, since it can
result in deadlocks */
- private object synch_lock = new Object();
+ /* Don't lock on synch_cs in managed code, since it can result
in deadlocks */
+ private object synch_cs = null;
private IntPtr serialized_culture_info;
private int serialized_culture_info_len;
private IntPtr serialized_ui_culture_info;
@@ -296,6 +296,9 @@
[MethodImplAttribute(MethodImplOptions.InternalCall)]
private extern IntPtr Thread_internal (MulticastDelegate start);
+ [MethodImplAttribute(MethodImplOptions.InternalCall)]
+ private extern void Thread_init ();
+
private static int GetNewManagedId() {
return Interlocked.Increment(ref _managed_id_counter);
}
@@ -305,6 +308,8 @@
throw new ArgumentNullException("Null
ThreadStart");
}
threadstart=start;
+
+ Thread_init ();
managed_id=GetNewManagedId();
}
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches