diff options
Diffstat (limited to 'datapath-windows/ovsext/Conntrack-related.c')
-rw-r--r-- | datapath-windows/ovsext/Conntrack-related.c | 6 |
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); |