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 <pscott@kerneldrivers.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
#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) ( \
#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) ( \