;;;; -*- coding: utf-8; fill-column: 78 -*-
changes relative to sbcl-1.0.46:
+ * bug fix: fix mach port rights leaks in mach exception handling code on
+ darwin/x86 and /x86-64. (thanks to Willem Oudshoorn for motivation and the
+ initial patch)
* enhancement: --script muffles style-warnings and compiler notes. (lp#677779)
* enhancement: redefinition warnings for macros from different files. (lp#434657)
* enhancement: better MACHINE-VERSION on Darwin x86 and x86-64. (lp#668332)
int signal = 0;
void (*handler)(int, siginfo_t *, void *) = NULL;
siginfo_t siginfo;
- kern_return_t ret;
+ kern_return_t ret, dealloc_ret;
/* Get state and info */
state_count = x86_THREAD_STATE32_COUNT;
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);
+ dealloc_ret = mach_port_deallocate (current_mach_task, thread);
+ if (dealloc_ret) {
+ lose("mach_port_deallocate (thread) failed with return_code %d\n", dealloc_ret);
+ }
+
+ dealloc_ret = mach_port_deallocate (current_mach_task, task);
+ if (dealloc_ret) {
+ lose("mach_port_deallocate (task) failed with return_code %d\n", dealloc_ret);
+ }
return ret;
}
;;; 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.30"
+"1.0.46.31"