Author: mhabersack
Date: 2007-08-22 08:04:57 -0400 (Wed, 22 Aug 2007)
New Revision: 84611

Modified:
   trunk/mod_mono/ChangeLog
   trunk/mod_mono/src/mod_mono.c
Log:
2007-08-22  Marek Habersack  <[EMAIL PROTECTED]>

        * src/mod_mono.c (terminate_xsp2): if apache is shutting down,
        destroy the mutex too, to avoid a leak.


Modified: trunk/mod_mono/ChangeLog
===================================================================
--- trunk/mod_mono/ChangeLog    2007-08-22 11:57:20 UTC (rev 84610)
+++ trunk/mod_mono/ChangeLog    2007-08-22 12:04:57 UTC (rev 84611)
@@ -1,3 +1,8 @@
+2007-08-22  Marek Habersack  <[EMAIL PROTECTED]>
+
+       * src/mod_mono.c (terminate_xsp2): if apache is shutting down,
+       destroy the mutex too, to avoid a leak.
+
 2007-08-10  Marek Habersack  <[EMAIL PROTECTED]>
 
        * src/mod_mono.c (terminate_xsp2): take an extra argument telling

Modified: trunk/mod_mono/src/mod_mono.c
===================================================================
--- trunk/mod_mono/src/mod_mono.c       2007-08-22 11:57:20 UTC (rev 84610)
+++ trunk/mod_mono/src/mod_mono.c       2007-08-22 12:04:57 UTC (rev 84611)
@@ -2256,7 +2256,18 @@
                        xsp->dashboard_shm = NULL;
                        xsp->dashboard = NULL;
                }
-                       
+
+               if (!for_restart && xsp->dashboard_mutex) {
+                       DEBUG_PRINT (0, "Destroying dasboard mutex %s", 
xsp->dashboard_lock_file);
+                       rv = apr_global_mutex_destroy (xsp->dashboard_mutex);
+                       if (rv != APR_SUCCESS)
+                               ap_log_error (APLOG_MARK, APLOG_WARNING, 
STATCODE_AND_SERVER (rv),
+                                             "Failed to destroy the dashboard 
mutex '%s'",
+                                             xsp->dashboard_lock_file);
+                       else
+                               xsp->dashboard_mutex = NULL;
+               }
+               
                xsp->status = FORK_NONE;
        }
 
@@ -2267,6 +2278,7 @@
 static apr_status_t
 terminate_xsp (void *data)
 {
+       DEBUG_PRINT (0, "Cleaning up for shutdown");
        return terminate_xsp2(data, NULL, 0, 0);
 }
 

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to