summaryrefslogtreecommitdiff
path: root/datapath-windows/ovsext/Conntrack.c
diff options
context:
space:
mode:
Diffstat (limited to 'datapath-windows/ovsext/Conntrack.c')
-rw-r--r--datapath-windows/ovsext/Conntrack.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/datapath-windows/ovsext/Conntrack.c b/datapath-windows/ovsext/Conntrack.c
index f0d135be3..3203411a8 100644
--- a/datapath-windows/ovsext/Conntrack.c
+++ b/datapath-windows/ovsext/Conntrack.c
@@ -980,10 +980,14 @@ OvsConntrackEntryCleaner(PVOID data)
POVS_CT_THREAD_CTX context = (POVS_CT_THREAD_CTX)data;
PLIST_ENTRY link, next;
POVS_CT_ENTRY entry;
+ LOCK_STATE_EX lockState;
BOOLEAN success = TRUE;
while (success) {
- LOCK_STATE_EX lockState;
+ if (ovsConntrackLockObj == NULL) {
+ /* Lock has been freed by 'OvsCleanupConntrack()' */
+ break;
+ }
NdisAcquireRWLockWrite(ovsConntrackLockObj, &lockState, 0);
if (context->exit) {
NdisReleaseRWLock(ovsConntrackLockObj, &lockState);