private void Dispose(bool disposing) { lock (this) { // if (disposing) cleanup managed resources // cleanup unmanaged resources if (m_pCURL != IntPtr.Zero) { External.curl_shim_cleanup_delegates(m_ptrThis); External.curl_easy_cleanup(m_pCURL); External.curl_shim_free_strings(m_pMyStrings); m_hThis.Free(); m_pCURL = IntPtr.Zero; } } }