Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Pryor <jpryor@novell.com>2008-02-12 17:19:35 +0300
committerJonathan Pryor <jpryor@novell.com>2008-02-12 17:19:35 +0300
commit6d6efd0b61085a0e05410372c7dcd96290fd1f66 (patch)
tree740203567049e5c524d77422f9b664965b28623b /support
parent869928f0f05f227c3a23ebaf0252966e1793f216 (diff)
* signal.c: Fix another build break; g_atomic_int_set() (part of GLib 2.10)
isn't present on all build machines, so use an alternate function. svn path=/trunk/mono/; revision=95499
Diffstat (limited to 'support')
-rw-r--r--support/ChangeLog5
-rw-r--r--support/signal.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/support/ChangeLog b/support/ChangeLog
index f3e682e4b94..76d9c80d422 100644
--- a/support/ChangeLog
+++ b/support/ChangeLog
@@ -1,3 +1,8 @@
+2008-02-12 Jonathan Pryor <jpryor@novell.com>
+
+ * signal.c: Fix another build break; g_atomic_int_set() (part of GLib 2.10)
+ isn't present on all build machines, so use an alternate function.
+
2008-02-08 Jonathan Pryor <jpryor@novell.com>
* signal.c: Mono_Unix_UnixSignal_WaitAny() semantic change: return the index
diff --git a/support/signal.c b/support/signal.c
index fd82707f1e5..79beffcc75b 100644
--- a/support/signal.c
+++ b/support/signal.c
@@ -128,8 +128,8 @@ Mono_Unix_UnixSignal_install (int sig)
}
if (h) {
- g_atomic_int_set (&h->count, 0);
- g_atomic_int_set (&h->signum, sig);
+ while (!g_atomic_int_compare_and_exchange (&h->count, h->count, 0)) {}
+ while (!g_atomic_int_compare_and_exchange (&h->signum, h->signum, sig)) {}
}
pthread_mutex_unlock (&signals_mutex);