summaryrefslogtreecommitdiff
path: root/lib/libpthread
diff options
context:
space:
mode:
authorMarcel Moolenaar <marcel@FreeBSD.org>2003-12-07 20:47:33 +0000
committerMarcel Moolenaar <marcel@FreeBSD.org>2003-12-07 20:47:33 +0000
commit47eb01b82235a63190ac3642f7c1d169a73e0274 (patch)
tree7aa3fc85bba2ec14ba56723694cb68dc2c17e301 /lib/libpthread
parent377e7be4166692aa562237f8dc300c48568e4ec4 (diff)
Notes
Diffstat (limited to 'lib/libpthread')
-rw-r--r--lib/libpthread/arch/ia64/include/pthread_md.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/libpthread/arch/ia64/include/pthread_md.h b/lib/libpthread/arch/ia64/include/pthread_md.h
index 6598f3dc6305..a72c95343684 100644
--- a/lib/libpthread/arch/ia64/include/pthread_md.h
+++ b/lib/libpthread/arch/ia64/include/pthread_md.h
@@ -232,6 +232,12 @@ _thread_switch(struct kcb *kcb, struct tcb *tcb, int setmbox)
mc->mc_special.isr = (intptr_t)&tcb->tcb_tmbx;
}
_ia64_break_setcontext(mc);
+ } else if (mc->mc_flags & _MC_FLAGS_SYSCALL_CONTEXT) {
+ if (setmbox)
+ kse_switchin(mc, (long)&tcb->tcb_tmbx,
+ (long *)&kcb->kcb_kmbx.km_curthread);
+ else
+ kse_switchin(mc, 0L, NULL);
} else {
if (setmbox)
_ia64_restore_context(mc, (intptr_t)&tcb->tcb_tmbx,