From ebea6fb23fcb6a1d7611fe8e25deee7d643bc739 Mon Sep 17 00:00:00 2001 From: Christian Prochaska Date: Fri, 20 Oct 2023 06:20:56 +0200 Subject: [PATCH] libc: use threaded mode Issue #725 --- repos/libports/src/lib/libc/pthread.cc | 4 ++++ repos/libports/src/lib/libc/pthread_create.cc | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/repos/libports/src/lib/libc/pthread.cc b/repos/libports/src/lib/libc/pthread.cc index 8481dac372..b0cf0a67e2 100644 --- a/repos/libports/src/lib/libc/pthread.cc +++ b/repos/libports/src/lib/libc/pthread.cc @@ -25,6 +25,7 @@ #include #include #include +#include /* __isthreaded */ #include /* malloc, free */ /* libc-internal includes */ @@ -74,6 +75,9 @@ size_t Pthread::_tls_pointer_offset; void Libc::Pthread::Thread_object::entry() { + /* use threaded mode in FreeBSD libc code */ + __isthreaded = 1; + /* * Obtain stack attributes of new thread for * 'pthread_attr_get_np()' diff --git a/repos/libports/src/lib/libc/pthread_create.cc b/repos/libports/src/lib/libc/pthread_create.cc index aa442a113a..ec5d1a3b51 100644 --- a/repos/libports/src/lib/libc/pthread_create.cc +++ b/repos/libports/src/lib/libc/pthread_create.cc @@ -22,6 +22,7 @@ /* libc includes */ #include #include +#include /* __isthreaded */ /* libc-internal includes */ #include @@ -172,6 +173,10 @@ int Libc::pthread_create_from_thread(pthread_t *thread, Thread &t, void *stack_a return EAGAIN; *thread = thread_obj; + + /* use threaded mode in FreeBSD libc code */ + __isthreaded = 1; + return 0; }