Signal delivery implementation. More...
import lib.error;import zxfoundation.base.typestate;import zxfoundation.sys.printk.core;import zxfoundation.base.types;import std;import zxfoundation.scoms.kobject.ref;import zxfoundation.dgp.domain.types;import zxfoundation.dgp.signal.types;Data Structures | |
| struct | zxfoundation::dgp::signal::domain |
| The domain struct — the central entity of the DGP kernel. More... | |
Enumerations | |
| enum class | zxfoundation::dgp::signal::domain_flags |
| Per-domain flags (bitfield). | |
Functions | |
| auto | zxfoundation::dgp::signal::deliver_entry (domain &d, signal_entry entry) noexcept -> bool |
| Inner: dispatch a dequeued entry to its registered handler, falling back to its signal_default action when no handler is installed. | |
| auto | zxfoundation::dgp::signal::signal_block (domain &d, u32 mask) noexcept -> void |
| Update the per-domain blocked mask. | |
| auto | zxfoundation::dgp::signal::signal_blocked_mask (const domain &d) noexcept -> u32 |
| Return the current blocked mask. | |
| auto | zxfoundation::dgp::signal::signal_deliver_all (domain &d) noexcept -> bool |
| Deliver all pending signals to the domain. | |
| auto | zxfoundation::dgp::signal::signal_deliver_one (domain &d) noexcept -> bool |
| Deliver one unblocked pending signal to the domain. | |
| auto | zxfoundation::dgp::signal::signal_enqueue (domain &d, signal_kind kind, u64 data) noexcept -> void |
| Queue a signal for asynchronous delivery to a domain. | |
| auto | zxfoundation::dgp::signal::signal_register_handler (domain &d, signal_kind kind, const signal_handler_info &info) noexcept -> std::expected< void, lib::kernel_error > |
| Register a signal handler for the given domain and kind. | |
Signal delivery implementation.
SPDX-License-Identifier: Apache-2.0
|
exportnoexcept |
Update the per-domain blocked mask.
Update the per-domaindomain blocked mask.
|
exportnoexcept |
Deliver all pending signals to the domain.
Deliver all pending signals to the domain::domain.
|
exportnoexcept |
Deliver one unblocked pending signal to the domain.
Deliver one unblocked pending signal to the domain::domain.
|
exportnoexcept |
Queue a signal for asynchronous delivery to a domain.
Queue a signal for asynchronous delivery to a domain::domain.
| [in,out] | d | The target domain. |
| [in] | kind | Signal kind. |
| [in] | data | Opaque payload. |
| [in,out] | d | The target domain::domain. |
| [in] | kind | Signal kind. |
| [in] | data | Opaque payload. |
|
nodiscardexportnoexcept |
Register a signal handler for the given domain and kind.
Register a signal handler for the given domain::domain and kind.
| [in,out] | d | The target domain. |
| [in] | kind | The signal kind to handle. |
| [in] | info | Handler descriptor (function, user data, default). |
| [in,out] | d | The target domain::domain. |
| [in] | kind | The signal kind to handle. |
| [in] | info | Handler descriptor (function, user data, default). |