diff options
author | Russ Cox <rsc@swtch.com> | 2020-12-30 07:18:30 -0500 |
---|---|---|
committer | Russ Cox <rsc@swtch.com> | 2020-12-30 07:53:28 -0500 |
commit | 18571208068d5fe2f0bf7b4e980525a7f577c503 (patch) | |
tree | baf2061164df38258cc6127a102ab76d9089fb31 /src/libthread/x86_64-ucontext.c | |
parent | e68f07d46f5f168dc2076286627279540bf1f99e (diff) | |
download | plan9port-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.c | 28 |
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; -} |