Index: /trunk/src/VBox/Runtime/r0drv/linux/semevent-r0drv-linux.c
===================================================================
--- /trunk/src/VBox/Runtime/r0drv/linux/semevent-r0drv-linux.c	(revision 19887)
+++ /trunk/src/VBox/Runtime/r0drv/linux/semevent-r0drv-linux.c	(revision 19888)
@@ -93,6 +93,6 @@
      * Invalidate it and signal the object just in case.
      */
-    ASMAtomicIncU32(&pEventInt->u32Magic);
-    ASMAtomicXchgU32(&pEventInt->fState, 0);
+    ASMAtomicWriteU32(&pEventInt->u32Magic, ~RTSEMEVENT_MAGIC);
+    ASMAtomicWriteU32(&pEventInt->fState, 0);
     Assert(!waitqueue_active(&pEventInt->Head));
     wake_up_all(&pEventInt->Head);
@@ -120,5 +120,5 @@
      * Signal the event object.
      */
-    ASMAtomicXchgU32(&pEventInt->fState, 1);
+    ASMAtomicWriteU32(&pEventInt->fState, 1);
     wake_up(&pEventInt->Head);
 
