]> git.openfabrics.org - ~shefty/rdma-win.git/commitdiff
winverbs: delete critical sections when no longer needed
authorSean Hefty <sean.hefty@intel.com>
Fri, 15 Jan 2010 17:14:46 +0000 (17:14 +0000)
committerSean Hefty <sean.hefty@intel.com>
Fri, 15 Jan 2010 17:14:46 +0000 (17:14 +0000)
To avoid leaking memory, we need to call DeleteCriticalSection
for all critical sections once they are no longer needed.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2669 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

trunk/core/winmad/user/wm_provider.cpp
trunk/core/winverbs/user/wv_base.cpp
trunk/ulp/libibumad/src/umad.cpp
trunk/ulp/netdirect/user/nd_adapter.cpp

index 96c20da455a5657d53bda8e9517f4d41c3c2ec07..b0adc073709a8f98a0fd9ac8dd78787eaa194f6e 100644 (file)
@@ -64,6 +64,8 @@ CWMProvider::~CWMProvider()
                CloseHandle(m_OverlapWrite.hEvent);\r
        }\r
        CloseHandle(m_hFile);\r
+       DeleteCriticalSection(&m_CritSecRead);\r
+       DeleteCriticalSection(&m_CritSecWrite);\r
        InterlockedDecrement(&WmRef);\r
 }\r
 \r
index 52e9b6ef58b97011a0842ba91f07158d4c0e2d5f..5ed4e9f7f33846ebb7d6217e4181cdde5a571c9b 100644 (file)
@@ -47,6 +47,7 @@ CWVBase::~CWVBase()
        if (m_Overlap.hEvent != NULL) {\r
                CloseHandle(m_Overlap.hEvent);\r
        }\r
+       DeleteCriticalSection(&m_CritSec);\r
 }\r
 \r
 STDMETHODIMP CWVBase::\r
index 6204be0f68c9091403e7f8d3cc1002deb332b0e9..62473e358afa793408012d5ca757fd90f6d99b94 100644 (file)
@@ -68,6 +68,7 @@ int umad_init(void)
 __declspec(dllexport)\r
 int umad_done(void)\r
 {\r
+       DeleteCriticalSection(&crit_sec);\r
        return 0;\r
 }\r
 \r
index 107a44e96cb5b6eb5eaa3f7c4df2a2ab73c2f4f5..805f77b45bdb75d8b8205965edcb11597bf2ebff 100644 (file)
@@ -96,6 +96,7 @@ CNDAdapter::~CNDAdapter(void)
                m_pWvProvider->Release();\r
        }\r
        m_pProvider->Release();\r
+       DeleteCriticalSection(&m_Lock);\r
 }\r
 \r
 STDMETHODIMP CNDAdapter::\r