diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-12-01 02:39:24 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-12-01 02:39:24 -0500 |
| commit | cd0c176275687a552bc546395bd2a39c92a3dd1b (patch) | |
| tree | d6ddc16fd59d851a093700bad8dd8baca1c914dc /src/kernel/SignalKit | |
| parent | 82f7d186848681e2530c9fa8b196b55fad0f4823 (diff) | |
| parent | 9c3de597257be9911a5eeb86c33962b15d87a701 (diff) | |
Merge pull request #98 from nekernel-org/develop
Develop: Updated paper, containers, and container types.
Diffstat (limited to 'src/kernel/SignalKit')
| -rw-r--r-- | src/kernel/SignalKit/Signals.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/kernel/SignalKit/Signals.h b/src/kernel/SignalKit/Signals.h index cb7abfa1..700a4f41 100644 --- a/src/kernel/SignalKit/Signals.h +++ b/src/kernel/SignalKit/Signals.h @@ -7,7 +7,9 @@ #pragma once #include <NeKit/Config.h> +#include <NeKit/KernelPanic.h> +#define SIGBAD 0 /* bad signal*/ #define SIGKILL 1 /* kill */ #define SIGPAUS 2 /* pause */ #define SIGEXEC 3 /* execute */ @@ -34,7 +36,7 @@ inline constexpr auto kKernelSignalSeed = 0x0895034f9fUL; /// @brief Generate signal from **Sig** template <rt_signal_kind Sig, SizeT Seed = kUserSignalSeed> inline rt_signal_kind sig_generate_unique() { - static_assert(Sig > 0, "Signal is zero (invalid)"); + STATIC_PASS(Sig > SIGBAD, "Signal is zero (invalid)"); return Sig ^ Seed; } @@ -44,8 +46,8 @@ inline BOOL sig_matches_seed(rt_signal_kind sig) { return (sig & 0xFF000000) == (Seed & 0xFF000000); } -/// @brief Validate signal from **sig** +/// @brief Validate signal from **sig** and whtether the signal is greater than SIGDTCH. inline BOOL sig_validate_unique(rt_signal_kind sig) { - return sig > 0; + return sig > SIGBAD && sig > SIGDTCH; } } // namespace Kernel |
