diff options
author | 2012-09-01 00:32:23 +0000 | |
---|---|---|
committer | 2012-09-01 00:32:23 +0000 | |
commit | cde6fc201d55f174c423caf7560c454b29da406e (patch) | |
tree | 3c8a6d2fd05c6c6d8d34297c0d9d94bea91bbc5b /lib/libpthread/sys | |
parent | modload needs to invoke ld with -nopie now on ELF platforms (diff) | |
download | wireguard-openbsd-cde6fc201d55f174c423caf7560c454b29da406e.tar.xz wireguard-openbsd-cde6fc201d55f174c423caf7560c454b29da406e.zip |
So passes uthreads
Like autumn leaves on water
don't fear the tedu@
Diffstat (limited to 'lib/libpthread/sys')
-rw-r--r-- | lib/libpthread/sys/Makefile.inc | 15 | ||||
-rw-r--r-- | lib/libpthread/sys/slow_atomic_lock.c | 42 | ||||
-rw-r--r-- | lib/libpthread/sys/uthread_error.c | 53 |
3 files changed, 0 insertions, 110 deletions
diff --git a/lib/libpthread/sys/Makefile.inc b/lib/libpthread/sys/Makefile.inc deleted file mode 100644 index 10fcfe22961..00000000000 --- a/lib/libpthread/sys/Makefile.inc +++ /dev/null @@ -1,15 +0,0 @@ -# $OpenBSD: Makefile.inc,v 1.18 2010/02/03 20:49:00 miod Exp $ - -.PATH: ${SRCDIR}/sys ${SRCDIR}/arch/${MACHINE_CPU} - -SRCS+= uthread_error.c - -.if exists(${SRCDIR}/arch/${MACHINE_CPU}/_atomic_lock.c) -SRCS+= _atomic_lock.c -.endif -.if exists(${SRCDIR}/arch/${MACHINE_CPU}/uthread_machdep_asm.S) -SRCS+= uthread_machdep_asm.S -.endif -.if exists(${SRCDIR}/arch/${MACHINE_CPU}/uthread_machdep.c) -SRCS+= uthread_machdep.c -.endif diff --git a/lib/libpthread/sys/slow_atomic_lock.c b/lib/libpthread/sys/slow_atomic_lock.c deleted file mode 100644 index d8526229dac..00000000000 --- a/lib/libpthread/sys/slow_atomic_lock.c +++ /dev/null @@ -1,42 +0,0 @@ -/* $OpenBSD: slow_atomic_lock.c,v 1.4 2008/10/02 23:27:23 deraadt Exp $ */ -/* David Leonard, <d@csee.uq.edu.au>. Public domain. */ - -#include <pthread.h> -#include "pthread_private.h" -#include "spinlock.h" -#include <signal.h> - -/* - * uthread atomic lock: - * attempt to acquire a lock (by giving it a non-zero value). - * Return zero on success, or the lock's value on failure - * This uses signal masking to make sure that no other thread - * can modify the lock while processing, hence it is very slow. - */ -int -_thread_slow_atomic_lock(volatile _spinlock_lock_t *lock) -{ - _spinlock_lock_t old; - sigset_t oldset, newset = (sigset_t)~0; - - /* block signals - incurs a context switch */ - if (_thread_sys_sigprocmask(SIG_SETMASK, &newset, &oldset) < 0) - PANIC("_atomic_lock block"); - - old = *lock; - if (old == _SPINLOCK_UNLOCKED) - *lock = _SPINLOCK_LOCKED; - - /* restore signal mask to what it was */ - if (_thread_sys_sigprocmask(SIG_SETMASK, &oldset, NULL) < 0) - PANIC("_atomic_lock restore"); - - return (old != _SPINLOCK_UNLOCKED); -} - -int -_thread_slow_atomic_is_locked(volatile _spinlock_lock_t *lock) -{ - - return (*lock != _SPINLOCK_UNLOCKED); -} diff --git a/lib/libpthread/sys/uthread_error.c b/lib/libpthread/sys/uthread_error.c deleted file mode 100644 index 739d3abf347..00000000000 --- a/lib/libpthread/sys/uthread_error.c +++ /dev/null @@ -1,53 +0,0 @@ -/* $OpenBSD: uthread_error.c,v 1.3 2003/01/31 04:46:17 marc Exp $ */ -/* - * Copyright (c) 1995 John Birrell <jb@cimlogic.com.au>. - * Copyright (c) 1994 by Chris Provenzano, proven@mit.edu - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by John Birrell - * and Chris Provenzano. - * 4. Neither the name of the author nor the names of any co-contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD: uthread_error.c,v 1.2 1999/08/05 12:14:13 deischen Exp $ - */ -#ifdef _THREAD_SAFE -#include <pthread.h> -#include "pthread_private.h" -extern int errno; - -int * -__error(void) -{ - int *p_errno; - if (_thread_run == _thread_initial) { - p_errno = &errno; - } else { - p_errno = &_thread_run->error; - } - return(p_errno); -} -#endif |