Wrap linux specific code for internal_thread_proc

This commit is contained in:
gingerBill
2021-08-26 22:26:51 +01:00
parent 8d8b3fd071
commit 4625b25287

View File

@@ -1,4 +1,4 @@
#if defined(GB_SYSTEM_UNIX)
#if defined(GB_SYSTEM_LINUX)
#include <signal.h>
#endif
@@ -361,10 +361,12 @@ void gb__thread_run(Thread *t) {
}
#else
void *internal_thread_proc(void *arg) {
// NOTE: Don't permit any signal delivery to threads.
#if (GB_SYSTEM_LINUX)
// NOTE: Don't permit any signal delivery to threads on Linux.
sigset_t mask = {};
sigfillset(&mask);
GB_ASSERT_MSG(pthread_sigmask(SIG_BLOCK, &mask, nullptr) == 0, "failed to block signals");
#endif
Thread *t = cast(Thread *)arg;
gb__thread_run(t);