________________________________________
From: [email protected] <[email protected]> on
behalf of Alin Serdean <[email protected]>
Sent: Thursday, July 13, 2017 9:40 PM
To: [email protected]
Subject: [ovs-dev] [PATCH 38/40] datapath-windows: Fix shared variables which
use Interlocked functions
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
_______________________________________________
Acked-by: Shashank Ram <[email protected]>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev