* mach_port_deallocate of the exception_port was returning
KERN_INVALID_RIGHT; assume this call was bogus and remove it. So
now we can be more strict about checking the return values of the
other deallocate calls.
exception_data_t code_vector,
mach_msg_type_number_t code_count)
{
exception_data_t code_vector,
mach_msg_type_number_t code_count)
{
+ kern_return_t ret, dealloc_ret;
int signal;
siginfo_t* siginfo;
int signal;
siginfo_t* siginfo;
ret = KERN_INVALID_RIGHT;
}
ret = KERN_INVALID_RIGHT;
}
- 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);
+ }
;;; 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".)
;;; 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".)