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