summaryrefslogtreecommitdiffhomepage
path: root/src/kernel/SignalKit
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-11-30 09:51:43 -0500
committerAmlal El Mahrouss <amlal@nekernel.org>2025-11-30 09:54:07 -0500
commitd3892e80f787f86062733bd8ad3e725fb548d6fe (patch)
tree25029f4e491e3da39b6ce66760f8742ad73f16d2 /src/kernel/SignalKit
parentba3cd2194412914936c1c00efe87391d0615cd17 (diff)
chore: added new aliases for OwnPtr and ErrorOr (OwnOr)
chore: use STATIC_PASS instead of static_assert in /src/kernel. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'src/kernel/SignalKit')
-rw-r--r--src/kernel/SignalKit/Signals.h8
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