class ExceptionDispatcher

Defined at line 48 of file ../../zircon/kernel/object/include/object/exception_dispatcher.h

Zircon channel-based exception handling uses two primary classes,

ExceptionDispatcher (this file) and Exceptionate (exceptionate.h).

An ExceptionDispatcher represents a single currently-active exception. This

will be transmitted to registered exception handlers in userspace and

provides them with exception state and control functionality.

An Exceptionate wraps a channel endpoint to help with sending exceptions to

userspace. It is a kernel-internal helper class and not exposed to userspace.

Public Methods

void ~ExceptionDispatcher ()

Defined at line 44 of file ../../zircon/kernel/object/exception_dispatcher.cc

zx_obj_type_t get_type ()

Defined at line 52 of file ../../zircon/kernel/object/include/object/exception_dispatcher.h

zx_koid_t get_related_koid ()

Defined at line 53 of file ../../zircon/kernel/object/include/object/exception_dispatcher.h

bool is_waitable ()

Defined at line 54 of file ../../zircon/kernel/object/include/object/exception_dispatcher.h

zx_status_t user_signal_self (uint32_t clear_mask, uint32_t set_mask)

Defined at line 58 of file ../../zircon/kernel/object/include/object/exception_dispatcher.h

zx_status_t user_signal_peer (uint32_t clear_mask, uint32_t set_mask)

Defined at line 61 of file ../../zircon/kernel/object/include/object/exception_dispatcher.h

void on_zero_handles ()

Marks the current exception handler as done.

Once a handle has been created around this object, either

wait_for_handle_close() or discard_handle_close() must be called to reset

our state for the next handler.

Defined at line 70 of file ../../zircon/kernel/object/include/object/exception_dispatcher.h

Protected Methods

Lock<CriticalMutex> * get_lock ()

Defined at line 44 of file ../../zircon/kernel/object/exception_dispatcher.cc

Friends

ExceptionDispatcher * ExceptionDispatcher (ThreadDispatcher * threadzx_excp_type_t exception_typeconst zx_exception_report_t * reportconst arch_exception_context_t * arch_context)