--- base/threading/platform_thread_posix.cc.orig 2024-06-22 08:49:42 UTC +++ base/threading/platform_thread_posix.cc @@ -77,11 +77,11 @@ void* ThreadFunc(void* params) { if (!thread_params->joinable) base::DisallowSingleton(); -#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && !BUILDFLAG(IS_BSD) partition_alloc::internal::StackTopRegistry::Get().NotifyThreadCreated(); #endif -#if !BUILDFLAG(IS_NACL) +#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD) #if BUILDFLAG(IS_APPLE) PlatformThread::SetCurrentThreadRealtimePeriodValue( delegate->GetRealtimePeriod()); @@ -265,6 +265,8 @@ PlatformThreadId PlatformThreadBase::CurrentId() { return reinterpret_cast(pthread_self()); #elif BUILDFLAG(IS_POSIX) && BUILDFLAG(IS_AIX) return pthread_self(); +#elif BUILDFLAG(IS_BSD) + return reinterpret_cast(pthread_self()); #elif BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_AIX) return reinterpret_cast(pthread_self()); #endif @@ -355,7 +357,7 @@ void PlatformThreadBase::Detach(PlatformThreadHandle t // static bool PlatformThreadBase::CanChangeThreadType(ThreadType from, ThreadType to) { -#if BUILDFLAG(IS_NACL) +#if BUILDFLAG(IS_NACL) || BUILDFLAG(IS_BSD) return false; #else if (from >= to) { @@ -376,6 +378,9 @@ void SetCurrentThreadTypeImpl(ThreadType thread_type, MessagePumpType pump_type_hint) { #if BUILDFLAG(IS_NACL) NOTIMPLEMENTED(); +// avoid pledge(2) violation +#elif BUILDFLAG(IS_BSD) + NOTIMPLEMENTED(); #else if (internal::SetCurrentThreadTypeForPlatform(thread_type, pump_type_hint)) return; @@ -398,7 +403,7 @@ void SetCurrentThreadTypeImpl(ThreadType thread_type, // static ThreadPriorityForTest PlatformThreadBase::GetCurrentThreadPriorityForTest() { -#if BUILDFLAG(IS_NACL) +#if BUILDFLAG(IS_NACL) || BUILDFLAG(IS_BSD) NOTIMPLEMENTED(); return ThreadPriorityForTest::kNormal; #else