diff options
Diffstat (limited to 'src/libPThread')
| -rw-r--r-- | src/libPThread/src/Thread.cpp | 6 |
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); |
