From dd73c9c1ef98b94ee1f4e870b52e2604422595e3 Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Wed, 3 Apr 2013 23:33:40 -0400 Subject: [PATCH] Windows: Switch to Interlocked ops for RDR Set/Clear Switch to using interlocked operations for the SetFlag and ClearFlag macros. Change-Id: I2b071ae49f69d557c30d1280fb7877dde7f76f40 Reviewed-on: http://gerrit.openafs.org/9722 Reviewed-by: Peter Scott Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman --- src/WINNT/afsrdr/kernel/fs/Include/AFSDefines.h | 4 ++-- src/WINNT/afsrdr/kernel/lib/Include/AFSDefines.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/WINNT/afsrdr/kernel/fs/Include/AFSDefines.h b/src/WINNT/afsrdr/kernel/fs/Include/AFSDefines.h index 239e4ff..fc1f595 100644 --- a/src/WINNT/afsrdr/kernel/fs/Include/AFSDefines.h +++ b/src/WINNT/afsrdr/kernel/fs/Include/AFSDefines.h @@ -74,11 +74,11 @@ #endif #ifndef SetFlag -#define SetFlag(_F,_SF) ((_F) |= (_SF)) +#define SetFlag(_F,_SF) InterlockedOr(&(_F), (_SF)) #endif #ifndef ClearFlag -#define ClearFlag(_F,_SF) ((_F) &= ~(_SF)) +#define ClearFlag(_F,_SF) InterlockedAnd(&(_F), ~(_SF)) #endif #define QuadAlign(Ptr) ( \ diff --git a/src/WINNT/afsrdr/kernel/lib/Include/AFSDefines.h b/src/WINNT/afsrdr/kernel/lib/Include/AFSDefines.h index cff9450..9e25bc1 100644 --- a/src/WINNT/afsrdr/kernel/lib/Include/AFSDefines.h +++ b/src/WINNT/afsrdr/kernel/lib/Include/AFSDefines.h @@ -218,11 +218,11 @@ NTSTATUS #endif #ifndef SetFlag -#define SetFlag(_F,_SF) ((_F) |= (_SF)) +#define SetFlag(_F,_SF) InterlockedOr(&(_F), (_SF)) #endif #ifndef ClearFlag -#define ClearFlag(_F,_SF) ((_F) &= ~(_SF)) +#define ClearFlag(_F,_SF) InterlockedAnd(&(_F), ~(_SF)) #endif #define QuadAlign(Ptr) ( \ -- 1.9.4