aboutsummaryrefslogtreecommitdiff
path: root/src/libthread/threadimpl.h
diff options
context:
space:
mode:
authorPetter Rodhelind <petter.rodhelind@gmail.com>2020-02-11 13:40:11 +0100
committerPetter Rodhelind <petter.rodhelind@gmail.com>2020-02-11 13:40:11 +0100
commit9c79e48c93c0c4d14aabcb490fab048d68934cb2 (patch)
tree1d57d3fd193621a2357473bb65b92190914c5736 /src/libthread/threadimpl.h
parent02d7aa8915f9c3a3288dab01f321eb94ba219e3b (diff)
parent0237dec768a4ee36ae9e18ce8566d2c999d78410 (diff)
downloadplan9port-9c79e48c93c0c4d14aabcb490fab048d68934cb2.tar.gz
plan9port-9c79e48c93c0c4d14aabcb490fab048d68934cb2.tar.bz2
plan9port-9c79e48c93c0c4d14aabcb490fab048d68934cb2.zip
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'src/libthread/threadimpl.h')
-rw-r--r--src/libthread/threadimpl.h28
1 files changed, 5 insertions, 23 deletions
diff --git a/src/libthread/threadimpl.h b/src/libthread/threadimpl.h
index 76ca57e5..cceb1b8e 100644
--- a/src/libthread/threadimpl.h
+++ b/src/libthread/threadimpl.h
@@ -15,15 +15,6 @@
#include "libc.h"
#include "thread.h"
-#if defined(__FreeBSD__) && __FreeBSD__ < 5
-extern int getmcontext(mcontext_t*);
-extern void setmcontext(mcontext_t*);
-#define setcontext(u) setmcontext(&(u)->uc_mcontext)
-#define getcontext(u) getmcontext(&(u)->uc_mcontext)
-extern int swapcontext(ucontext_t*, ucontext_t*);
-extern void makecontext(ucontext_t*, void(*)(), int, ...);
-#endif
-
#if defined(__APPLE__)
/*
* OS X before 10.5 (Leopard) does not provide
@@ -64,20 +55,6 @@ extern void makecontext(ucontext_t*, void(*)(), int, ...);
extern pid_t rfork_thread(int, void*, int(*)(void*), void*);
#endif
-/* THIS DOES NOT WORK! Don't do this!
-(At least, not on Solaris. Maybe this is right for Linux,
-in which case it should say if defined(__linux__) && defined(__sun__),
-but surely the latter would be defined(__sparc__).
-
-#if defined(__sun__)
-# define mcontext libthread_mcontext
-# define mcontext_t libthread_mcontext_t
-# define ucontext libthread_ucontext
-# define ucontext_t libthread_ucontext_t
-# include "sparc-ucontext.h"
-#endif
-*/
-
#if defined(__arm__)
int mygetmcontext(ulong*);
void mysetmcontext(const ulong*);
@@ -209,3 +186,8 @@ extern void _threadsetupdaemonize(void);
extern void _threaddodaemonize(char*);
extern void _threadpexit(void);
extern void _threaddaemonize(void);
+extern void *_threadstkalloc(int);
+extern void _threadstkfree(void*, int);
+
+#define USPALIGN(ucp, align) \
+ (void*)((((uintptr)(ucp)->uc_stack.ss_sp+(ucp)->uc_stack.ss_size)-(align))&~((align)-1))