summaryrefslogtreecommitdiff
path: root/lib/librthread/arch/sparc64
diff options
context:
space:
mode:
authorPhilip Guenthe <guenther@cvs.openbsd.org>2012-01-17 02:34:19 +0000
committerPhilip Guenthe <guenther@cvs.openbsd.org>2012-01-17 02:34:19 +0000
commitb954f00c23f17debc35a7aa94bac39a336fc3359 (patch)
treeaec06661a73fe3843a229172ea9cbd95181c2a90 /lib/librthread/arch/sparc64
parentc01d953b375c486f2bad253c49e4aed9a2f0938f (diff)
Reimplement mutexes, condvars, and rwlocks to eliminate bugs,
particularly the "consume the signal you just sent" hang, and putting the wait queues in userspace. Do cancellation handling in pthread_cond_*wait(), pthread_join(), and sem_wait(). Add __ prefix to thr{sleep,wakeup,exit,sigdivert}() syscalls; add 'abort" argument to thrsleep to close cancellation race; make thr{sleep,wakeup} return errno values via *retval to avoid touching userspace errno.
Diffstat (limited to 'lib/librthread/arch/sparc64')
-rw-r--r--lib/librthread/arch/sparc64/rfork_thread.S4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/librthread/arch/sparc64/rfork_thread.S b/lib/librthread/arch/sparc64/rfork_thread.S
index d35f6ba1d74..86b876db714 100644
--- a/lib/librthread/arch/sparc64/rfork_thread.S
+++ b/lib/librthread/arch/sparc64/rfork_thread.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: rfork_thread.S,v 1.3 2011/10/17 06:39:20 guenther Exp $ */
+/* $OpenBSD: rfork_thread.S,v 1.4 2012/01/17 02:34:18 guenther Exp $ */
/*
* Copyright (c) 2005, Miodrag Vallat
@@ -62,7 +62,7 @@ ENTRY(__tfork_thread)
call %o2 /* func */
mov %o3, %o0 /* arg */
- mov SYS_threxit, %g1
+ mov SYS___threxit, %g1
clr %o0
t ST_SYSCALL /* will not return */