summaryrefslogtreecommitdiff
path: root/lib/libc
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/libc
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/libc')
-rw-r--r--lib/libc/arch/amd64/Makefile.inc4
-rw-r--r--lib/libc/arch/amd64/string/Makefile.inc6
-rw-r--r--lib/libc/shlib_version2
-rw-r--r--lib/libc/sys/Makefile.inc4
4 files changed, 8 insertions, 8 deletions
diff --git a/lib/libc/arch/amd64/Makefile.inc b/lib/libc/arch/amd64/Makefile.inc
index 2cfeef61734..891bde15d16 100644
--- a/lib/libc/arch/amd64/Makefile.inc
+++ b/lib/libc/arch/amd64/Makefile.inc
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile.inc,v 1.3 2005/06/29 14:03:25 mickey Exp $
+# $OpenBSD: Makefile.inc,v 1.4 2012/01/17 02:34:18 guenther Exp $
KMINCLUDES= arch/amd64/SYS.h
-KMSRCS= ffs.S strlen.S htonl.S ntohl.S htons.S ntohs.S
+KMSRCS= ffs.S htonl.S ntohl.S htons.S ntohs.S
diff --git a/lib/libc/arch/amd64/string/Makefile.inc b/lib/libc/arch/amd64/string/Makefile.inc
index a384f0f20ae..e9662393875 100644
--- a/lib/libc/arch/amd64/string/Makefile.inc
+++ b/lib/libc/arch/amd64/string/Makefile.inc
@@ -1,8 +1,8 @@
-# $OpenBSD: Makefile.inc,v 1.2 2007/05/15 18:42:31 otto Exp $
+# $OpenBSD: Makefile.inc,v 1.3 2012/01/17 02:34:18 guenther Exp $
SRCS+= bcmp.c ffs.S index.c memchr.c memcmp.c bcopy.c bzero.c \
- rindex.c strcat.c strcmp.c strcpy.c strcspn.c strlen.S \
+ rindex.c strcat.c strcmp.c strcpy.c strcspn.c strlen.c \
strncat.c strncmp.c strncpy.c strpbrk.c strsep.c \
strspn.c strstr.c swab.c memset.c strlcpy.c strlcat.c
-LSRCS+= ffs.c strlen.c
+LSRCS+= ffs.c
diff --git a/lib/libc/shlib_version b/lib/libc/shlib_version
index 73198ebb5bc..d9553a8cf66 100644
--- a/lib/libc/shlib_version
+++ b/lib/libc/shlib_version
@@ -1,4 +1,4 @@
-major=61
+major=62
minor=0
# note: If changes were made to include/thread_private.h or if system
# calls were added/changed then libpthread must also be updated.
diff --git a/lib/libc/sys/Makefile.inc b/lib/libc/sys/Makefile.inc
index 2902075c49e..affed8158c4 100644
--- a/lib/libc/sys/Makefile.inc
+++ b/lib/libc/sys/Makefile.inc
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile.inc,v 1.96 2011/11/22 21:13:30 guenther Exp $
+# $OpenBSD: Makefile.inc,v 1.97 2012/01/17 02:34:18 guenther Exp $
# $NetBSD: Makefile.inc,v 1.35 1995/10/16 23:49:07 jtc Exp $
# @(#)Makefile.inc 8.1 (Berkeley) 6/17/93
@@ -66,7 +66,7 @@ ASM= accept.o access.o acct.o adjfreq.o adjtime.o bind.o chdir.o chflags.o \
symlink.o sync.o sysarch.o umask.o unlink.o unmount.o \
utimes.o wait4.o write.o writev.o nnpfspioctl.o __semctl.o \
__syscall.o __sysctl.o __getcwd.o sched_yield.o getthrid.o \
- thrsleep.o thrwakeup.o threxit.o thrsigdivert.o \
+ __thrsleep.o __thrwakeup.o __threxit.o __thrsigdivert.o \
setrtable.o getrtable.o __set_tcb.o __get_tcb.o \
openat.o fchmodat.o fstatat.o mkdirat.o mkfifoat.o mknodat.o \
faccessat.o fchownat.o linkat.o readlinkat.o renameat.o symlinkat.o \