Author: jonpryor
Date: 2008-02-08 09:34:22 -0500 (Fri, 08 Feb 2008)
New Revision: 95259

Modified:
   trunk/mcs/class/Mono.Posix/Mono.Unix/ChangeLog
   trunk/mcs/class/Mono.Posix/Mono.Unix/UnixSignal.cs
Log:
        * UnixSignal.cs: Modification of Info->count should be thread safe.


Modified: trunk/mcs/class/Mono.Posix/Mono.Unix/ChangeLog
===================================================================
--- trunk/mcs/class/Mono.Posix/Mono.Unix/ChangeLog      2008-02-08 14:30:46 UTC 
(rev 95258)
+++ trunk/mcs/class/Mono.Posix/Mono.Unix/ChangeLog      2008-02-08 14:34:22 UTC 
(rev 95259)
@@ -1,3 +1,7 @@
+2008-02-08  Jonathan Pryor  <[EMAIL PROTECTED]>
+
+       * UnixSignal.cs: Modification of Info->count should be thread safe.
+
 2008-01-28  Jonathan Pryor  <[EMAIL PROTECTED]>
 
        * UnixSignal.cs: Added; Polling and blocking based Unix signal 
mechanism.

Modified: trunk/mcs/class/Mono.Posix/Mono.Unix/UnixSignal.cs
===================================================================
--- trunk/mcs/class/Mono.Posix/Mono.Unix/UnixSignal.cs  2008-02-08 14:30:46 UTC 
(rev 95258)
+++ trunk/mcs/class/Mono.Posix/Mono.Unix/UnixSignal.cs  2008-02-08 14:34:22 UTC 
(rev 95259)
@@ -88,14 +88,13 @@
 
                public unsafe bool Reset ()
                {
-                       int n = Info->count;
-                       Info->count = 0;
+                       int n = Interlocked.Exchange (ref Info->count, 0);
                        return n != 0;
                }
 
                public unsafe int Count {
                        get {return Info->count;}
-                       set {Info->count = value;}
+                       set {Interlocked.Exchange (ref Info->count, value);}
                }
 
                [Map]

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to