/*
- * Copyright (c) 2000-2008 Apple Inc. All rights reserved.
+ * Copyright (c) 2000-2016 Apple Inc. All rights reserved.
*
* @APPLE_OSREFERENCE_LICENSE_HEADER_START@
*
mach_msg_option_t option, mach_msg_size_t send_size,
mach_msg_timeout_t send_timeout, mach_port_name_t notify);
extern thread_t convert_port_to_thread(ipc_port_t port);
-extern void ipc_port_release(ipc_port_t);
-
+extern void ipc_port_release_send(ipc_port_t port);
static task_t ux_handler_self;
-static
-void
+__attribute__((noreturn))
+static void
ux_handler(void)
{
task_t self = current_task();
(void *) &thread_port) == MACH_MSG_SUCCESS)) {
if (IPC_PORT_VALID(thread_port)) {
th_act = convert_port_to_thread(thread_port);
- ipc_port_release(thread_port);
+ ipc_port_release_send(thread_port);
} else {
th_act = THREAD_NULL;
}
ut->uu_exception = exception;
//ut->uu_code = code[0]; // filled in by threadsignal
ut->uu_subcode = code[1];
- threadsignal(th_act, ux_signal, code[0]);
+ threadsignal(th_act, ux_signal, code[0], TRUE);
}
if (p != NULL)
proc_rele(p);