Merge pull request #1972 from esdrubal/proc_pidpath
[mono.git] / mcs / class / corlib / System.Threading / Monitor.cs
index d6a289e76b5a1754dfb0cc08774185b39a13d62a..c5cda6920d2edc3729e325bd3228629350ef94ae 100644 (file)
@@ -189,13 +189,17 @@ namespace System.Threading
                        }
                }
 
-#if NET_4_0
                [MethodImplAttribute(MethodImplOptions.InternalCall)]
                extern static void try_enter_with_atomic_var (object obj, int millisecondsTimeout, ref bool lockTaken);
 
+               [MethodImplAttribute(MethodImplOptions.InternalCall)]
+               extern static void enter_with_atomic_var (object obj, ref bool lockTaken);
+
+               // Can't make this an icall since it has the same name as the other Enter method
+               [MethodImpl(MethodImplOptions.AggressiveInlining)]
                public static void Enter (object obj, ref bool lockTaken)
                {
-                       TryEnter (obj, Timeout.Infinite, ref lockTaken);
+                       enter_with_atomic_var (obj, ref lockTaken);
                }
 
                public static void TryEnter (object obj, ref bool lockTaken)
@@ -224,16 +228,14 @@ namespace System.Threading
                        try_enter_with_atomic_var (obj, millisecondsTimeout, ref lockTaken);
                }               
 
-#endif
 
-#if NET_4_5
                [MethodImplAttribute(MethodImplOptions.InternalCall)]
                extern static bool Monitor_test_owner (object obj);
-               
-               public static bool IsEntered (object obj)
+
+               public
+               static bool IsEntered (object obj)
                {
                        return Monitor_test_owner(obj);
                }
-#endif
        }
 }