diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2026-03-28 04:15:35 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2026-03-28 04:15:35 +0100 |
| commit | da5133169701918b0ab19aa460f44636dcdbb3bf (patch) | |
| tree | 492a0f0f8462db388d47f437339080680e14f40e | |
| parent | 7dfb257bcf7215dc66aa278a6b04b64fc6077fbf (diff) | |
[CHORE] Update src/kernel and src/nectar, remove libThread.fwrk as deprecated.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
| -rw-r--r-- | frameworks/libThread.fwrk/dist/.keep | 0 | ||||
| -rw-r--r-- | frameworks/libThread.fwrk/headers/Config.h | 13 | ||||
| -rw-r--r-- | frameworks/libThread.fwrk/libThread.fwrk.json | 20 | ||||
| -rw-r--r-- | frameworks/libThread.fwrk/src/ThreadMgr.cpp | 74 | ||||
| -rw-r--r-- | frameworks/libThread.fwrk/xml/app.xml | 4 | ||||
| m--------- | src/kernel | 0 | ||||
| m--------- | src/nectar | 0 |
7 files changed, 0 insertions, 111 deletions
diff --git a/frameworks/libThread.fwrk/dist/.keep b/frameworks/libThread.fwrk/dist/.keep deleted file mode 100644 index e69de29..0000000 --- a/frameworks/libThread.fwrk/dist/.keep +++ /dev/null diff --git a/frameworks/libThread.fwrk/headers/Config.h b/frameworks/libThread.fwrk/headers/Config.h deleted file mode 100644 index f8f5dab..0000000 --- a/frameworks/libThread.fwrk/headers/Config.h +++ /dev/null @@ -1,13 +0,0 @@ -// SPDX-License-Identifier: Apache-2.0 -// Copyright 2026, Amlal El Mahrouss (amlal@nekernel.org) -// Licensed under the Apache License, Version 2.0 (see LICENSE file) -// Official repository: https://github.com/ne-foss-org/ne-system - -#ifndef LIBTHREAD_FOUNDATION_H -#define LIBTHREAD_FOUNDATION_H - -#include <libSystem/SystemKit/System.h> - -#define LIBTHREAD_VERSION 0x100000 - -#endif // LIBTHREAD_FOUNDATION_H diff --git a/frameworks/libThread.fwrk/libThread.fwrk.json b/frameworks/libThread.fwrk/libThread.fwrk.json deleted file mode 100644 index b3acc4a..0000000 --- a/frameworks/libThread.fwrk/libThread.fwrk.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "compiler_path": "x86_64-w64-mingw32-g++", - "compiler_std": "c++20", - "headers_path": ["../", "./", "../../src/kernel/src/libSystem", "../../src/kernel/src/", "../src/kernel/src/kernel"], - "sources_path": ["src/*.cpp"], - "output_name": "./dist/libThread.fwrk.dylib", - "compiler_flags": [ - "-ffreestanding", - "-shared", - "-fno-rtti", - "-fno-exceptions", - "-Wl,--subsystem=17" - ], - "cpp_macros": [ - "kThrdVersion=0x0100", - "kThrdVersionHighest=0x0100", - "kThrdVersionLowest=0x0100" - ] - } - diff --git a/frameworks/libThread.fwrk/src/ThreadMgr.cpp b/frameworks/libThread.fwrk/src/ThreadMgr.cpp deleted file mode 100644 index 7d663d3..0000000 --- a/frameworks/libThread.fwrk/src/ThreadMgr.cpp +++ /dev/null @@ -1,74 +0,0 @@ -// SPDX-License-Identifier: Apache-2.0 -// Copyright 2026, Amlal El Mahrouss (amlal@nekernel.org) -// Licensed under the Apache License, Version 2.0 (see LICENSE file) -// Official repository: https://github.com/ne-foss-org/ne-system - -#include <libSystem/SystemKit/Err.h> -#include <libThread.fwrk/headers/Config.h> - -#define kThreadMapMax (1024UL) -#define kThreadBaseHash (0x5555ffff6ULL) - -/// @brief The registered thread for a specific process. -static ThreadRef kThreadMap[kThreadMapMax]; - -/// @brief Exit codes as we want to track them. -static SInt32 kThreadExitCodes[kThreadMapMax]; - -/// @brief This hash-list stores the thread to be run. -static ThreadRef kThreadHeads[kThreadMapMax]; - -static ThreadRef kCurrentThread; - -static __THREAD_UNSAFE Void _ThrRunThread(SInt32 argument_count, VoidPtr args, - ThrProcKind procedure, ThreadRef ref) { - static SemaphoreRef sem_ref = SemCreate(0, 1000, "ThreadSem"); - - if (sem_ref) return; - - auto ret = procedure(argument_count, (Char**) args); - kThreadExitCodes[kThreadMapMax % ref->__hash] = ret; - - if (ref == kCurrentThread) kCurrentThread = nullptr; - - SemClose(sem_ref); - sem_ref = nullptr; -} - -IMPORT_C ThreadRef ThrCreateThread(const Char* thread_name, ThrProcKind procedure, - SInt32 argument_count, VoidPtr args, SInt32 flags) { - ThreadRef ref = new REF_TYPE; - if (!ref) return nullptr; - - if (!thread_name || !procedure) { - delete ref; - ref = nullptr; - return nullptr; - } - - ref->__hash = *(UInt32*) thread_name; - ref->__hash += kThreadBaseHash; // pad hash with a seed. - - ref->__self = (VoidPtr) procedure; - - kThreadMap[kThreadMapMax % ref->__hash] = ref; - kThreadHeads[kThreadMapMax % ref->__hash] = ref; - - kCurrentThread = ref; - - _ThrRunThread(argument_count, args, procedure, ref); - - return ref; -} - -IMPORT_C SInt32 ThrExitThread(_Input ThreadRef ref, _Input SInt32 exit_code) { - if (!ref) return kErrorInvalidData; - - kThreadMap[kThreadMapMax % ref->__hash] = nullptr; - kThreadHeads[kThreadMapMax % ref->__hash] = nullptr; - - if (kCurrentThread == ref) kCurrentThread = nullptr; - - kThreadExitCodes[kThreadMapMax % ref->__hash] = exit_code; - return kErrorSuccess; -}
\ No newline at end of file diff --git a/frameworks/libThread.fwrk/xml/app.xml b/frameworks/libThread.fwrk/xml/app.xml deleted file mode 100644 index fa81bba..0000000 --- a/frameworks/libThread.fwrk/xml/app.xml +++ /dev/null @@ -1,4 +0,0 @@ -<PropertyList> -<PLEntry Type="CFString" Name="LibraryName" Len="0" Value="Thread" /> -<PLEntry Type="BOOL" Name="CacheLibs" Value="YES" /> -</PropertyList>
\ No newline at end of file diff --git a/src/kernel b/src/kernel -Subproject 9937bcb03d4b3c3e71c33786349d4a41203550c +Subproject e2e01ed3c503cb8d93446abea162ccf9abd5620 diff --git a/src/nectar b/src/nectar -Subproject f9c374590815b8b386fff17d0710130e784e952 +Subproject 040e7d7047a7b6799975d309ce1d42ed2d56ab2 |
