diff options
Diffstat (limited to 'Kernel')
| -rw-r--r-- | Kernel/KernelKit/ThreadLocalStorage.hxx | 6 | ||||
| -rw-r--r-- | Kernel/KernelKit/ThreadLocalStorage.inl | 7 | ||||
| -rw-r--r-- | Kernel/NewKit/Defines.hpp | 6 |
3 files changed, 11 insertions, 8 deletions
diff --git a/Kernel/KernelKit/ThreadLocalStorage.hxx b/Kernel/KernelKit/ThreadLocalStorage.hxx index 50c53fa4..41313381 100644 --- a/Kernel/KernelKit/ThreadLocalStorage.hxx +++ b/Kernel/KernelKit/ThreadLocalStorage.hxx @@ -21,7 +21,7 @@ /// Located in GS on AMD64, other architectures have their own stuff. (64x0, 32x0, ARM64) struct PACKED ThreadInformationBlock final { - Kernel::Char Cookie[kTLSCookieLen]; + Kernel::Char Cookie[kTLSCookieLen]; // Process cookie. Kernel::UIntPtr StartCode; // Start Address Kernel::UIntPtr StartData; // Allocation Heap Kernel::UIntPtr StartStack; // Stack Pointer. @@ -39,7 +39,7 @@ T* tls_new_ptr(void); ///! @brief delete ptr syscall. template <typename T> -bool tls_delete_ptr(T* ptr); +Kernel::Boolean tls_delete_ptr(T* ptr); template <typename T, typename... Args> T* tls_new_class(Args&&... args); @@ -52,6 +52,6 @@ EXTERN_C Kernel::Void tls_check_syscall_impl(Kernel::VoidPtr TIB) noexcept; #include <KernelKit/ThreadLocalStorage.inl> -// last rev 1/29/24 +// last rev 7/7/24 #endif /* ifndef _KERNELKIT_TLS_HPP */ diff --git a/Kernel/KernelKit/ThreadLocalStorage.inl b/Kernel/KernelKit/ThreadLocalStorage.inl index c6e61059..319e71b3 100644 --- a/Kernel/KernelKit/ThreadLocalStorage.inl +++ b/Kernel/KernelKit/ThreadLocalStorage.inl @@ -25,7 +25,7 @@ inline T* tls_new_ptr(void) //! @brief TLS delete implementation. template <typename T> -inline bool tls_delete_ptr(T* ptr) +inline Kernel::Bool tls_delete_ptr(T* ptr) { if (!ptr) return false; @@ -64,8 +64,11 @@ T* tls_new_class(Args&&... args) /// @param ptr /// @return template <typename T> -inline bool tls_delete_class(T* ptr) +inline Kernel::Bool tls_delete_class(T* ptr) { + if (!ptr) + return false; + ptr->~T(); return tls_delete_ptr(ptr); } diff --git a/Kernel/NewKit/Defines.hpp b/Kernel/NewKit/Defines.hpp index f4d143c0..a96bf5a1 100644 --- a/Kernel/NewKit/Defines.hpp +++ b/Kernel/NewKit/Defines.hpp @@ -138,10 +138,10 @@ namespace Kernel ? (Kernel::Endian::kEndianBig) \ : (Kernel::Endian::kEndianLittle)) -#define Yes (true) -#define No (false) +#define Yes true +#define No false -#define VoidStar Kernel::voidPtr +#define VoidStar Kernel::VoidPtr #ifdef INIT #undef INIT |
