From 5766b241c36fed2fd0d796642212343e5e6096ed Mon Sep 17 00:00:00 2001 From: nmzik Date: Sat, 3 Oct 2026 16:03:57 +0400 Subject: [PATCH] Implement POSIX thread stack attribute import through kernel setter --- src/kernel/pthread.cpp | 4 ++++ src/kernel/pthread.h | 1 + src/libs/libKernel.cpp | 1 + 3 files changed, 6 insertions(+) diff --git a/src/kernel/pthread.cpp b/src/kernel/pthread.cpp index 2e2b0a9a9..e4fbc624b 100644 --- a/src/kernel/pthread.cpp +++ b/src/kernel/pthread.cpp @@ -4208,6 +4208,10 @@ int KYTY_SYSV_ABI pthread_attr_setschedpolicy(LibKernel::PthreadAttr* attr, int return POSIX_PTHREAD_CALL(LibKernel::PthreadAttrSetschedpolicy(attr, policy)); } +int KYTY_SYSV_ABI pthread_attr_setstack(LibKernel::PthreadAttr* attr, void* addr, size_t size) { + return POSIX_PTHREAD_CALL(LibKernel::PthreadAttrSetstack(attr, addr, size)); +} + int KYTY_SYSV_ABI pthread_attr_setstacksize(LibKernel::PthreadAttr* attr, size_t stack_size) { // PRINT_NAME(); diff --git a/src/kernel/pthread.h b/src/kernel/pthread.h index 21bbe9701..68194100e 100644 --- a/src/kernel/pthread.h +++ b/src/kernel/pthread.h @@ -249,6 +249,7 @@ int KYTY_SYSV_ABI pthread_attr_setinheritsched(LibKernel::PthreadAttr* attr, int int KYTY_SYSV_ABI pthread_attr_setschedparam(LibKernel::PthreadAttr* attr, const LibKernel::KernelSchedParam* param); int KYTY_SYSV_ABI pthread_attr_setschedpolicy(LibKernel::PthreadAttr* attr, int policy); +int KYTY_SYSV_ABI pthread_attr_setstack(LibKernel::PthreadAttr* attr, void* addr, size_t size); int KYTY_SYSV_ABI pthread_attr_setstacksize(LibKernel::PthreadAttr* attr, size_t stack_size); int KYTY_SYSV_ABI pthread_cond_broadcast(LibKernel::PthreadCond* cond); int KYTY_SYSV_ABI pthread_cond_signal(LibKernel::PthreadCond* cond); diff --git a/src/libs/libKernel.cpp b/src/libs/libKernel.cpp index 37f279aca..02070e090 100644 --- a/src/libs/libKernel.cpp +++ b/src/libs/libKernel.cpp @@ -2189,6 +2189,7 @@ LIB_DEFINE(InitLibKernel_1_Posix) { LIB_FUNC("wtkt-teR1so", Posix::pthread_attr_init); LIB_FUNC("zHchY8ft5pk", Posix::pthread_attr_destroy); LIB_FUNC("vQm4fDEsWi8", Posix::pthread_attr_getstack); + LIB_FUNC("-SrbXpGR1f0", Posix::pthread_attr_setstack); LIB_FUNC("2Q0z6rnBrTE", Posix::pthread_attr_setstacksize); LIB_FUNC("Ucsu-OK+els", Posix::pthread_attr_get_np); LIB_FUNC("RtLRV-pBTTY", Posix::pthread_attr_getschedpolicy);