about summary refs log tree commit diff stats
path: root/src/libtools/threads.c
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2023-03-25 10:38:03 +0000
committerptitSeb <sebastien.chev@gmail.com>2023-03-25 10:38:03 +0000
commitf197e750b623469d65d00d308ea182e5693dfa08 (patch)
tree9515504c73223cbbb1b8aa4e3fc066370809cc0b /src/libtools/threads.c
parent206bc9afb659eeb4e8393170e0dc8bcb87792c3c (diff)
downloadbox64-f197e750b623469d65d00d308ea182e5693dfa08.tar.gz
box64-f197e750b623469d65d00d308ea182e5693dfa08.zip
Added some wrapped functions in pthread
Diffstat (limited to 'src/libtools/threads.c')
-rwxr-xr-xsrc/libtools/threads.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/libtools/threads.c b/src/libtools/threads.c
index 381fa6cc..7fc6e695 100755
--- a/src/libtools/threads.c
+++ b/src/libtools/threads.c
@@ -846,6 +846,14 @@ EXPORT int my_pthread_mutexattr_gettype(x64emu_t* emu, my_mutexattr_t *attr, voi
 	attr->x86 = mattr.x86;
 	return ret;
 }
+EXPORT int my_pthread_mutexattr_getrobust(x64emu_t* emu, my_mutexattr_t *attr, void* p)
+{
+	my_mutexattr_t mattr = {0};
+	mattr.x86 = attr->x86;
+	int ret = pthread_mutexattr_getrobust(&mattr.nat, p);
+	attr->x86 = mattr.x86;
+	return ret;
+}
 EXPORT int my_pthread_mutexattr_init(x64emu_t* emu, my_mutexattr_t *attr)
 {
 	my_mutexattr_t mattr = {0};
@@ -889,6 +897,14 @@ EXPORT int my_pthread_mutexattr_settype(x64emu_t* emu, my_mutexattr_t *attr, int
 	return ret;
 }
 EXPORT int my___pthread_mutexattr_settype(x64emu_t* emu, my_mutexattr_t *attr, int t) __attribute__((alias("my_pthread_mutexattr_settype")));
+EXPORT int my_pthread_mutexattr_setrobust(x64emu_t* emu, my_mutexattr_t *attr, int t)
+{
+	my_mutexattr_t mattr = {0};
+	mattr.x86 = attr->x86;
+	int ret = pthread_mutexattr_setrobust(&mattr.nat, t);
+	attr->x86 = mattr.x86;
+	return ret;
+}
 
 #ifdef __SIZEOF_PTHREAD_MUTEX_T
 #if __SIZEOF_PTHREAD_MUTEX_T == 48