X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Ftests%2Finterlocked-2.2.cs;h=b25f84a03feed954432f2db9f67d7c7d0cb2e7d1;hb=82c8b126f16d655f8be815514fabd50ee217ec3f;hp=35a4140fe45bbc41a9c722fac6993dd1b9293964;hpb=058889d95f64c4eaa6a3cc6867a9c7a1aba82303;p=mono.git diff --git a/mono/tests/interlocked-2.2.cs b/mono/tests/interlocked-2.2.cs old mode 100755 new mode 100644 index 35a4140fe45..b25f84a03fe --- a/mono/tests/interlocked-2.2.cs +++ b/mono/tests/interlocked-2.2.cs @@ -4,7 +4,7 @@ using System.Threading; public class InterlockTest { public int test; - public int ltest; + public long ltest; public static int Main() { int a,b; @@ -30,7 +30,7 @@ public class InterlockTest /* long */ it.ltest = 2; - int lc = Interlocked.Add (ref it.ltest, 1); + long lc = Interlocked.Add (ref it.ltest, 1); if (lc != 3) return 5; @@ -44,6 +44,17 @@ public class InterlockTest if (lb != 2) return 8; + if (Interlocked.Read (ref la) != 2) + return 9; + + la = 1; + lc = Interlocked.Exchange (ref la, 2); + if (lc != 1) + return 10; + + if (la != 2) + return 11; + /* Generics */ InterlockTest o1 = new InterlockTest (); InterlockTest o2 = new InterlockTest (); @@ -51,15 +62,15 @@ public class InterlockTest InterlockTest o3 = Interlocked.CompareExchange (ref o, o2, o2); if (o3 != o1) - return 9; + return 12; if (o != o1) - return 10; + return 13; InterlockTest o4 = Interlocked.CompareExchange (ref o, o2, o1); if (o4 != o1) - return 11; + return 14; if (o != o2) - return 12; + return 15; Console.WriteLine ("done!");