template <typename Self, zx_rights_t def_rights, zx_signals_t extra_signals = 0u, lockdep::LockFlags Flags = lockdep::LockFlagsNone>
class SoloDispatcher
Defined at line 346 of file ../../zircon/kernel/object/include/object/dispatcher.h
SoloDispatchers stand alone. Since they have no peer to coordinate with, they
directly contain their state lock. This is a CRTP template type to permit
the lock validator to distinguish between locks in different subclasses of
SoloDispatcher.
Protected Members
const fbl::Canary<CanaryTag<Self>::magic> canary_
::lockdep::LockDep<SoloDispatcher<Self, def_rights, extra_signals, Flags>, ::CriticalMutex, 384, ::lockdep::internal::DefaultLockFlags<Flags>::value> lock_
Public Methods
zx_rights_t default_rights ()
Defined at line 348 of file ../../zircon/kernel/object/include/object/dispatcher.h
void SoloDispatcher<Self, def_rights, extra_signals, Flags> (zx_signals_t signals)
At construction, the object is asserting |signals|.
Defined at line 351 of file ../../zircon/kernel/object/include/object/dispatcher.h
zx_koid_t get_related_koid ()
Related koid is overridden by subclasses, like thread and process.
Defined at line 354 of file ../../zircon/kernel/object/include/object/dispatcher.h
bool is_waitable ()
Defined at line 355 of file ../../zircon/kernel/object/include/object/dispatcher.h
zx_status_t user_signal_self (uint32_t clear_mask, uint32_t set_mask)
Defined at line 357 of file ../../zircon/kernel/object/include/object/dispatcher.h
zx_status_t user_signal_peer (uint32_t clear_mask, uint32_t set_mask)
Defined at line 370 of file ../../zircon/kernel/object/include/object/dispatcher.h
Protected Methods
Lock<CriticalMutex> * get_lock ()
Defined at line 375 of file ../../zircon/kernel/object/include/object/dispatcher.h