aboutsummaryrefslogtreecommitdiff
path: root/src/libthread/x86_64-ucontext.c
diff options
context:
space:
mode:
authorRuss Cox <rsc@swtch.com>2020-12-30 07:18:30 -0500
committerRuss Cox <rsc@swtch.com>2020-12-30 07:53:28 -0500
commit18571208068d5fe2f0bf7b4e980525a7f577c503 (patch)
treebaf2061164df38258cc6127a102ab76d9089fb31 /src/libthread/x86_64-ucontext.c
parente68f07d46f5f168dc2076286627279540bf1f99e (diff)
downloadplan9port-18571208068d5fe2f0bf7b4e980525a7f577c503.tar.gz
plan9port-18571208068d5fe2f0bf7b4e980525a7f577c503.tar.bz2
plan9port-18571208068d5fe2f0bf7b4e980525a7f577c503.zip
libthread: simplify
Now that everything uses pthreads and pthreadperthread, can delete various conditionals, all the custom context code, and so on. Also update documents. Fixes #355.
Diffstat (limited to 'src/libthread/x86_64-ucontext.c')
-rw-r--r--src/libthread/x86_64-ucontext.c28
1 files changed, 0 insertions, 28 deletions
diff --git a/src/libthread/x86_64-ucontext.c b/src/libthread/x86_64-ucontext.c
deleted file mode 100644
index 5d1aaefc..00000000
--- a/src/libthread/x86_64-ucontext.c
+++ /dev/null
@@ -1,28 +0,0 @@
-#include "threadimpl.h"
-
-void
-makecontext(ucontext_t *uc, void (*fn)(void), int argc, ...)
-{
- uintptr *sp;
- va_list arg;
-
- if(argc != 2)
- sysfatal("libthread: makecontext misused");
- va_start(arg, argc);
- uc->mc.di = va_arg(arg, uint);
- uc->mc.si = va_arg(arg, uint);
- va_end(arg);
-
- sp = USPALIGN(uc, 16);
- *--sp = 0; // fn's return address
- *--sp = (uintptr)fn; // return address of setcontext
- uc->mc.sp = (uintptr)sp;
-}
-
-int
-swapcontext(ucontext_t *oucp, ucontext_t *ucp)
-{
- if(getcontext(oucp) == 0)
- setcontext(ucp);
- return 0;
-}