diff options
author | Alex Rønne Petersen <alexrp@xamarin.com> | 2013-09-25 20:31:06 +0200 |
---|---|---|
committer | Jo Shields <directhex@apebox.org> | 2013-10-23 15:11:56 +0100 |
commit | 2676ce49b2f4082f79ff6991734fbc8b1c94c79d (patch) | |
tree | e9c35ce29b6f88532011e4fa5c2c2a0b769028a8 | |
parent | 413523f8392604551b2ffb29528e2ae3b26bfb77 (diff) | |
download | mono-2676ce49b2f4082f79ff6991734fbc8b1c94c79d.tar.gz |
Use InterlockedAdd () for Interlocked.Add (int&, int).
(cherry picked from commit 89a99c26341d0c09e30fb263c5a08fe80aa21369)
-rwxr-xr-x | mono/metadata/threads.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/mono/metadata/threads.c b/mono/metadata/threads.c index 4f710ce6e9..9e5776985d 100755 --- a/mono/metadata/threads.c +++ b/mono/metadata/threads.c @@ -1943,14 +1943,7 @@ ves_icall_System_Threading_Interlocked_Add_Int (gint32 *location, gint32 value) mono_raise_exception (mono_get_exception_not_implemented (NULL)); return 0; #else - gint32 orig; - - mono_interlocked_lock (); - orig = *location; - *location = orig + value; - mono_interlocked_unlock (); - - return orig + value; + return InterlockedAdd (location, value); #endif } |