1.0.46.28: fix mach port leakage on x86 too
authorCyrus Harmon <ch-sbcl@bobobeach.com>
Tue, 8 Mar 2011 01:41:25 +0000 (01:41 +0000)
committerCyrus Harmon <ch-sbcl@bobobeach.com>
Tue, 8 Mar 2011 01:41:25 +0000 (01:41 +0000)
 * call mach_port_deallocate on exception_port, thread and task at the
   end of x86 version of catch_exception_raise

src/runtime/x86-darwin-os.c
version.lisp-expr

index 610db59..6205445 100644 (file)
@@ -495,6 +495,11 @@ catch_exception_raise(mach_port_t exception_port,
       siginfo.si_addr = addr;
       call_handler_on_thread(thread, &thread_state, signal, &siginfo, handler);
     }
+
+    mach_port_deallocate (current_mach_task, exception_port);
+    mach_port_deallocate (current_mach_task, thread);
+    mach_port_deallocate (current_mach_task, task);
+
     return ret;
 }
 
index 8498d46..7484d9c 100644 (file)
@@ -20,4 +20,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.46.27"
+"1.0.46.28"