diff options
author | Brian Behlendorf <[email protected]> | 2018-06-04 16:52:10 -0700 |
---|---|---|
committer | GitHub <[email protected]> | 2018-06-04 16:52:10 -0700 |
commit | 2d9142c9d4c9db4edcef4777fecfafa4832610cb (patch) | |
tree | 8096ca173efcec1079ea4fbdc4418ca1e9c8c222 /lib/libspl | |
parent | e48afbc4ebc64712f56220b65ed12c536ef0e114 (diff) |
Remove rwlock wrappers
The only remaining consumer of the rwlock compatibility wrappers
is ztest. Remove the wrappers and convert the few remaining
calls to the underlying pthread functions.
rwlock_init() -> pthread_rwlock_init()
rwlock_destroy() -> pthread_rwlock_destroy()
rw_rdlock() -> pthread_rwlock_rdlock()
rw_wrlock() -> pthread_rwlock_wrlock()
rw_unlock() -> pthread_rwlock_unlock()
Note pthread_rwlock_init() defaults to PTHREAD_PROCESS_PRIVATE
which is equivilant to the USYNC_THREAD behavior. There is no
functional change.
Reviewed-by: Olaf Faaland <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Closes #7591
Diffstat (limited to 'lib/libspl')
-rw-r--r-- | lib/libspl/include/Makefile.am | 1 | ||||
-rw-r--r-- | lib/libspl/include/synch.h | 81 |
2 files changed, 0 insertions, 82 deletions
diff --git a/lib/libspl/include/Makefile.am b/lib/libspl/include/Makefile.am index 7f4098a16..842a8fbb3 100644 --- a/lib/libspl/include/Makefile.am +++ b/lib/libspl/include/Makefile.am @@ -15,7 +15,6 @@ libspl_HEADERS = \ $(top_srcdir)/lib/libspl/include/stdlib.h \ $(top_srcdir)/lib/libspl/include/string.h \ $(top_srcdir)/lib/libspl/include/stropts.h \ - $(top_srcdir)/lib/libspl/include/synch.h \ $(top_srcdir)/lib/libspl/include/thread.h \ $(top_srcdir)/lib/libspl/include/tzfile.h \ $(top_srcdir)/lib/libspl/include/ucred.h \ diff --git a/lib/libspl/include/synch.h b/lib/libspl/include/synch.h deleted file mode 100644 index d75b8b15e..000000000 --- a/lib/libspl/include/synch.h +++ /dev/null @@ -1,81 +0,0 @@ -/* - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * When distributing Covered Code, include this CDDL HEADER in each - * file and include the License file at usr/src/OPENSOLARIS.LICENSE. - * If applicable, add the following below this CDDL HEADER, with the - * fields enclosed by brackets "[]" replaced with your own identifying - * information: Portions Copyright [yyyy] [name of copyright owner] - * - * CDDL HEADER END - */ -/* - * Copyright 2008 Sun Microsystems, Inc. All rights reserved. - * Copyright 2014 Zettabyte Software, LLC. All rights reserved. - * Use is subject to license terms. - */ - -#ifndef _LIBSPL_SYNCH_H -#define _LIBSPL_SYNCH_H - -#ifndef __sun__ - -#include <assert.h> -#include <pthread.h> - -/* - * Definitions of synchronization types. - */ -#define USYNC_THREAD 0x00 /* private to a process */ -#define USYNC_PROCESS 0x01 /* shared by processes */ - -typedef pthread_rwlock_t rwlock_t; - -#define DEFAULTRWLOCK PTHREAD_RWLOCK_INITIALIZER - -static inline int -rwlock_init(rwlock_t *rwlp, int type, void *arg) -{ - pthread_rwlockattr_t attr; - int err = 0; - - VERIFY0(pthread_rwlockattr_init(&attr)); - switch (type) { - case USYNC_THREAD: - VERIFY0(pthread_rwlockattr_setpshared(&attr, - PTHREAD_PROCESS_PRIVATE)); - break; - case USYNC_PROCESS: - VERIFY0(pthread_rwlockattr_setpshared(&attr, - PTHREAD_PROCESS_SHARED)); - break; - default: - VERIFY0(1); - } - - err = pthread_rwlock_init(rwlp, &attr); - VERIFY0(pthread_rwlockattr_destroy(&attr)); - - return (err); -} - -#define rwlock_destroy(x) pthread_rwlock_destroy((x)) -#define rw_rdlock(x) pthread_rwlock_rdlock((x)) -#define rw_wrlock(x) pthread_rwlock_wrlock((x)) -#define rw_unlock(x) pthread_rwlock_unlock((x)) -#define rw_tryrdlock(x) pthread_rwlock_tryrdlock((x)) -#define rw_trywrlock(x) pthread_rwlock_trywrlock((x)) - -#endif /* __sun__ */ - -#endif |