]> granicus.if.org Git - gc/commitdiff
2006-01-03 Geoff Norton <gnorton@customerdna.com>
authorGeoff Norton <grompf@sublimeintervention.com>
Tue, 3 Jan 2006 19:03:23 +0000 (19:03 +0000)
committerguest <ivmai@mail.ru>
Fri, 29 Jul 2011 11:27:41 +0000 (15:27 +0400)
        * darwin_stop_world.c:  Merge a patch from Bruce Mitchener that fixes a small
        leak on OS X.

svn path=/trunk/mono/; revision=55018

ChangeLog
darwin_stop_world.c

index c2a6e30b46005dfb8669da5feac04b4ba3bb5847..cd86c4cc9225994ae18350e69b2094634138940c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-01-03  Geoff Norton  <gnorton@customerdna.com>
+
+       * darwin_stop_world.c:  Merge a patch from Bruce Mitchener that fixes a small
+       leak on OS X.
+
 2005-12-26  Zoltan Varga  <vargaz@gmail.com>
 
        * include/private/gcconfig.h: Disable PROC_VDB on solaris/x86 as it
index f454a45a03dda6375bada2cce9cee2bbe995f7d7..60acd83c6bd663155fea7cf8b5f014a56b61e90f 100644 (file)
@@ -154,6 +154,7 @@ void GC_push_all_stacks() {
 #     endif
       GC_push_all_stack(lo, hi); 
     } /* for(p=GC_threads[i]...) */
+    vm_deallocate(current_task(), (vm_address_t)act_list, sizeof(thread_t) * listcount);
 }
 
 static mach_port_t GC_mach_handler_thread;
@@ -296,6 +297,7 @@ void GC_stop_world()
        changes = result;
        prev_list = act_list;
        prevcount = listcount;
+        vm_deallocate(current_task(), (vm_address_t)act_list, sizeof(thread_t) * listcount);
       } while (changes);
       
  
@@ -367,6 +369,7 @@ void GC_start_world()
        }
       }
     }
+    vm_deallocate(current_task(), (vm_address_t)act_list, sizeof(thread_t) * listcount);
 #   if DEBUG_THREADS
      GC_printf0("World started\n");
 #   endif