diff options
| author | Amlal El Mahrouss <amlalelmahrouss@icloud.com> | 2024-02-24 09:16:54 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlalelmahrouss@icloud.com> | 2024-02-24 09:16:54 +0100 |
| commit | eaf9ec361fa0b9a56057a7143d15a0ee31258f0d (patch) | |
| tree | beaef45560f377ae7fe811408c468682e1ff2516 /Private/KernelKit | |
| parent | 917eae9453ecac6d9aeb04254d5d5c97e5a6c9e1 (diff) | |
Kernel\TLS: MUST_PASS: Process manager must be active to
use TLS.
Signed-off-by: Amlal El Mahrouss <amlalelmahrouss@icloud.com>
Diffstat (limited to 'Private/KernelKit')
| -rw-r--r-- | Private/KernelKit/ThreadLocalStorage.inl | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/Private/KernelKit/ThreadLocalStorage.inl b/Private/KernelKit/ThreadLocalStorage.inl index 59d4c525..67a797b8 100644 --- a/Private/KernelKit/ThreadLocalStorage.inl +++ b/Private/KernelKit/ThreadLocalStorage.inl @@ -17,6 +17,8 @@ template <typename T> inline T* hcore_tls_new_ptr(void) { using namespace HCore; + MUST_PASS(ProcessManager::Shared().Leak().GetCurrent()); + auto ref_process = ProcessManager::Shared().Leak().GetCurrent(); T* pointer = (T*)ref_process.Leak().New(sizeof(T)); @@ -30,9 +32,11 @@ inline bool hcore_tls_delete_ptr(T* ptr) { using namespace HCore; - auto ref_process = ProcessManager::Shared().Leak().GetCurrent(); + MUST_PASS(ProcessManager::Shared().Leak().GetCurrent()); + ptr->~T(); + auto ref_process = ProcessManager::Shared().Leak().GetCurrent(); return ref_process.Leak().Delete(ptr, sizeof(T)); } |
