Instead of assigning a value directly to the variable use `InterlockedAdd` with 0.
Signed-off-by: Alin Gabriel Serdean <[email protected]> --- datapath-windows/ovsext/Switch.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/datapath-windows/ovsext/Switch.c b/datapath-windows/ovsext/Switch.c index 28c8ecf..1ac4fa7 100644 --- a/datapath-windows/ovsext/Switch.c +++ b/datapath-windows/ovsext/Switch.c @@ -143,7 +143,7 @@ OvsExtAttach(NDIS_HANDLE ndisFilterHandle, KeMemoryBarrier(); cleanup: - gOvsInAttach = FALSE; + InterlockedExchange(&gOvsInAttach, 0); if (status != NDIS_STATUS_SUCCESS) { if (switchContext != NULL) { OvsDeleteSwitch(switchContext); @@ -516,7 +516,7 @@ OvsReleaseSwitchContext(POVS_SWITCH_CONTEXT switchContext) LONG icxRef = 0; do { - ref = gOvsSwitchContextRefCount; + ref = InterlockedAdd(&gOvsSwitchContextRefCount, 0); newRef = (0 == ref) ? 0 : ref - 1; icxRef = InterlockedCompareExchange(&gOvsSwitchContextRefCount, newRef, @@ -538,7 +538,7 @@ OvsAcquireSwitchContext(VOID) BOOLEAN ret = FALSE; do { - ref = gOvsSwitchContextRefCount; + ref = InterlockedAdd(&gOvsSwitchContextRefCount, 0); newRef = (0 == ref) ? 0 : ref + 1; icxRef = InterlockedCompareExchange(&gOvsSwitchContextRefCount, newRef, -- 2.10.2.windows.1 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
