>Author: wrowe
>Date: Thu Oct  7 09:59:28 2004
>New Revision: 53999
>
>Modified:
>   incubator/httpd/cli/trunk/mod_aspdotnet/mod/mod_aspdotnet.cpp
>Log:
>
>  Tighten up the scope for releasing objects, since they should be
>  freed up before we proceed to announcing any errors we encountered.
>
>Submitted by: hammett <hammett uol.com.br>
>
>Modified: incubator/httpd/cli/trunk/mod_aspdotnet/mod/mod_aspdotnet.cpp
>==============================================================================
>--- incubator/httpd/cli/trunk/mod_aspdotnet/mod/mod_aspdotnet.cpp       
>(original)
>+++ incubator/httpd/cli/trunk/mod_aspdotnet/mod/mod_aspdotnet.cpp       Thu 
>Oct  7 09:59:28 2004
>@@ -307,6 +307,9 @@
>     _AppDomain *pDefaultDomain = NULL;
>     hr = pAppDomainIUnk->QueryInterface(__uuidof(_AppDomain), 
>                                         (void**)&pDefaultDomain);
>+    // Done with pAppDomainIUnk
>+    pAppDomainIUnk->Release();
>+
>     if (FAILED(hr)) {
>         ap_log_error(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(hr), NULL,
>                      "mod_aspdotnet: Could not retrieve the .NET default "
>@@ -319,8 +322,6 @@
>                      "application domain _AppDomain interface.");
>         _com_raise_error(E_NOINTERFACE);
>     }
>-    // Done with pAppDomainIUnk
>-    pAppDomainIUnk->Release();
> 
>     ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, NULL,
>                  "mod_aspdotnet: Module initialized .NET default 
> AppDomain...");
>@@ -332,6 +333,9 @@
>                                             
> "PublicKeyToken=9b9b842f49b86351"),
>                                         _bstr_t(L"Apache.Web.HostFactory"),
>                                         &pObjHandle);
>+    // Done with pDefaultDomain
>+    pDefaultDomain->Release();
>+
>     if (FAILED(hr)) {
>         ap_log_error(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(hr), NULL,
>                      "mod_aspdotnet: Could not create the .NET interface "
>@@ -344,8 +348,6 @@
>                      "for the Apache.Web.HostFactory.");
>         _com_raise_error(E_NOINTERFACE);
>     }
>-    // Done with pDefaultDomain
>-    pDefaultDomain->Release();
>     
>     VARIANT vHostFactory;
>     VariantInit(&vHostFactory);
>@@ -362,17 +364,18 @@
>                      "interface for the Apache.Web.HostFactory.");
>         _com_raise_error(E_NOINTERFACE);
>     }
>+
>     hr = 
> vHostFactory.pdispVal->QueryInterface(__uuidof(IApacheWebHostFactory),
>                                                (void**)&conf->pHostFactory);
>+    // Done with vHostFactory
>+    VariantClear(&vHostFactory);
>+
>     if (FAILED(hr)) { 
>         ap_log_error(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(hr), NULL,
>                      "mod_aspdotnet: Could not retrieve the COM interface "
>                      "for the Apache.Web.HostFactory.");
>         _com_raise_error(hr);
>     }
>-
>-    // Done with vHostFactory
>-    VariantClear(&vHostFactory);
> 
>     ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, NULL,
>                  "mod_aspdotnet: Module initialized HostFactory...");


Reply via email to