diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-05-12 22:53:07 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-05-12 22:53:07 +0200 |
| commit | 23cd8f6c24582add8fdd4f44517a4ce7b4ffc183 (patch) | |
| tree | df4408068f59e1b427c519c57ec30f589c466deb /Kernel | |
| parent | 9d8b704783b94ed3ee4cd87f87e54eb1808d7db8 (diff) | |
| parent | c90f6b27e5fe229a69a20f4a4fc453bb6e787e90 (diff) | |
Merge branch 'MHR-23' of bitbucket.org:mahrouss/microkernel into MHR-23
Diffstat (limited to 'Kernel')
| -rw-r--r-- | Kernel/FSKit/IndexableProperty.hxx | 2 | ||||
| -rw-r--r-- | Kernel/FSKit/NewFS.hxx | 1 | ||||
| -rw-r--r-- | Kernel/KernelKit/ThreadLocalStorage.inl | 20 |
3 files changed, 18 insertions, 5 deletions
diff --git a/Kernel/FSKit/IndexableProperty.hxx b/Kernel/FSKit/IndexableProperty.hxx index eae15317..28ea230a 100644 --- a/Kernel/FSKit/IndexableProperty.hxx +++ b/Kernel/FSKit/IndexableProperty.hxx @@ -10,7 +10,7 @@ #include <CompilerKit/CompilerKit.hxx> #include <KernelKit/DriveManager.hxx> -#define kIndexerNodeNameLength 256 +#define kIndexerNodeNameLength 255 #define kIndexerClaimed 0xCF namespace NewOS diff --git a/Kernel/FSKit/NewFS.hxx b/Kernel/FSKit/NewFS.hxx index dca7aa2c..acb22798 100644 --- a/Kernel/FSKit/NewFS.hxx +++ b/Kernel/FSKit/NewFS.hxx @@ -209,7 +209,6 @@ namespace NewOS /// \brief NewFS parser class. (catalog creation, remove removal, root, /// forks...) Designed like the DOM, detects the filesystem automatically. /// - class NewFSParser final { public: diff --git a/Kernel/KernelKit/ThreadLocalStorage.inl b/Kernel/KernelKit/ThreadLocalStorage.inl index ae3277eb..6407900f 100644 --- a/Kernel/KernelKit/ThreadLocalStorage.inl +++ b/Kernel/KernelKit/ThreadLocalStorage.inl @@ -1,6 +1,6 @@ /* ------------------------------------------- - Copyright SoftwareLabs + Copyright SoftwareLabs ------------------------------------------- */ @@ -34,12 +34,15 @@ inline bool tls_delete_ptr(T* ptr) MUST_PASS(ProcessScheduler::Shared().Leak().GetCurrent()); - ptr->~T(); - auto ref_process = ProcessScheduler::Shared().Leak().GetCurrent(); return ref_process.Leak().Delete(ptr, sizeof(T)); } +/// @brief Allocate a C++ class, and then call the constructor of it. +/// @tparam T +/// @tparam ...Args +/// @param ...args +/// @return template <typename T, typename... Args> T* tls_new_class(Args&&... args) { @@ -53,3 +56,14 @@ T* tls_new_class(Args&&... args) return nullptr; } + +/// @brief Delete a C++ class (call constructor first.) +/// @tparam T +/// @param ptr +/// @return +template <typename T> +inline bool tls_delete_class(T* ptr) +{ + ptr->~T(); + return tls_delete_ptr(ptr); +}
\ No newline at end of file |
