diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-08-22 15:46:57 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-08-22 15:46:57 +0200 |
| commit | bdc13bdc0a163d6839ed19a6077e61c162220826 (patch) | |
| tree | b00940c1ef5f585b7d481892ce02de535ad76f4a /dev/CompilerKit | |
| parent | 209373b1f5770dc175e06996a152df6484f59af2 (diff) | |
feat: c++abi: introduce atexit ptr to cleanup data when exiting program.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/CompilerKit')
| -rw-r--r-- | dev/CompilerKit/utils/DylibHelpers.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/dev/CompilerKit/utils/DylibHelpers.h b/dev/CompilerKit/utils/DylibHelpers.h index 31e0b68..fede406 100644 --- a/dev/CompilerKit/utils/DylibHelpers.h +++ b/dev/CompilerKit/utils/DylibHelpers.h @@ -7,8 +7,8 @@ #pragma once #include <CompilerKit/Defines.h> -#include <mutex> #include <dlfcn.h> +#include <mutex> struct CompilerKitDylibTraits; @@ -16,13 +16,13 @@ typedef Int32 (*CompilerKitEntrypoint)(Int32 argc, Char const* argv[]); typedef VoidPtr CompilerKitDylib; struct CompilerKitDylibTraits final { - CompilerKitDylib fDylib{nullptr}; + CompilerKitDylib fDylib{nullptr}; CompilerKitEntrypoint fEntrypoint{nullptr}; - std::mutex fMutex; + std::mutex fMutex; CompilerKitDylibTraits& operator()(const Char* path, const Char* fEntrypoint) { std::lock_guard<std::mutex> lock(this->fMutex); - + if (!path || !fEntrypoint) return *this; if (this->fDylib) { @@ -36,7 +36,7 @@ struct CompilerKitDylibTraits final { return *this; } - this->fEntrypoint = (CompilerKitEntrypoint)dlsym(this->fDylib, fEntrypoint); + this->fEntrypoint = (CompilerKitEntrypoint) dlsym(this->fDylib, fEntrypoint); if (!this->fEntrypoint) { dlclose(this->fDylib); |
