summaryrefslogtreecommitdiffhomepage
path: root/src/libPThread
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2026-03-18 13:11:57 +0100
committerAmlal El Mahrouss <amlal@nekernel.org>2026-03-18 13:11:57 +0100
commitafdc4702385dfa66ba20b46b98d81bd224c2d84e (patch)
tree64fe06d82c4bc4408f0456298e71883059123b23 /src/libPThread
parent30bfed60419707e94a0128f20199f98d008a1473 (diff)
[FEAT] PThread implementation improvements for v2.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'src/libPThread')
-rw-r--r--src/libPThread/src/Thread.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/libPThread/src/Thread.cpp b/src/libPThread/src/Thread.cpp
index b70cf7d6..c1799d9c 100644
--- a/src/libPThread/src/Thread.cpp
+++ b/src/libPThread/src/Thread.cpp
@@ -23,8 +23,10 @@ PTHREAD_SAFE SInt32 pthread_exit(SInt32 retval) {
PTHREAD_SAFE SInt32 pthread_join(ThreadRef thread, VoidPtr* retval) {
SInt32* ret = (SInt32*) retval;
- *ret = ThrJoinThread(thread);
+ if (!ret) return -1;
+
+ *ret = ThrJoinThread(thread);
return 0;
}
@@ -32,6 +34,8 @@ PTHREAD_SAFE SInt32 pthread_create(_Output ThreadRef* thread, VoidPtr at
VoidPtr (*start_routine)(VoidPtr), VoidPtr arg) {
LIBSYS_UNUSED(attr);
+ if (!attr || !thread || !arg || !start_routine) return -1;
+
/// @note passing zero means you'd have to read the argv until you hit a nullptr.
ThreadRef thrd = ThrCreateThread("pthread_thread", (ThrProcKind) start_routine, 0, arg, 0);