summaryrefslogtreecommitdiffstats
path: root/sys/kern/syscalls.c
diff options
context:
space:
mode:
authorguenther <guenther@openbsd.org>2012-01-17 02:34:18 +0000
committerguenther <guenther@openbsd.org>2012-01-17 02:34:18 +0000
commit2aa8ea07027e21f7e3a39dbbc13d2a3af24af722 (patch)
tree5169bf71eaf80e7fda22d364a1fdfb1d5decc13b /sys/kern/syscalls.c
parentnet_addrcmp() dies. found out to be a horrific function by eric (diff)
downloadwireguard-openbsd-2aa8ea07027e21f7e3a39dbbc13d2a3af24af722.tar.xz
wireguard-openbsd-2aa8ea07027e21f7e3a39dbbc13d2a3af24af722.zip
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 'sys/kern/syscalls.c')
-rw-r--r--sys/kern/syscalls.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/kern/syscalls.c b/sys/kern/syscalls.c
index 29bad4c5909..a7880b9ef64 100644
--- a/sys/kern/syscalls.c
+++ b/sys/kern/syscalls.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: syscalls.c,v 1.132 2011/10/15 23:36:31 guenther Exp $ */
+/* $OpenBSD: syscalls.c,v 1.133 2012/01/17 02:34:18 guenther Exp $ */
/*
* System call names.
@@ -382,10 +382,10 @@ char *syscallnames[] = {
#endif
"sched_yield", /* 298 = sched_yield */
"getthrid", /* 299 = getthrid */
- "thrsleep", /* 300 = thrsleep */
- "thrwakeup", /* 301 = thrwakeup */
- "threxit", /* 302 = threxit */
- "thrsigdivert", /* 303 = thrsigdivert */
+ "__thrsleep", /* 300 = __thrsleep */
+ "__thrwakeup", /* 301 = __thrwakeup */
+ "__threxit", /* 302 = __threxit */
+ "__thrsigdivert", /* 303 = __thrsigdivert */
"__getcwd", /* 304 = __getcwd */
"adjfreq", /* 305 = adjfreq */
"getfsstat", /* 306 = getfsstat */