Deleted Added
full compact
rmlock.h (212112) rmlock.h (227588)
1/*-
2 * Copyright (c) 2007 Stephan Uphoff <ups@FreeBSD.org>
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 12 unchanged lines hidden (view full) ---

21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27 * SUCH DAMAGE.
28 *
1/*-
2 * Copyright (c) 2007 Stephan Uphoff <ups@FreeBSD.org>
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 12 unchanged lines hidden (view full) ---

21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27 * SUCH DAMAGE.
28 *
29 * $FreeBSD: head/sys/sys/rmlock.h 212112 2010-09-01 19:50:03Z mlaier $
29 * $FreeBSD: head/sys/sys/rmlock.h 227588 2011-11-16 21:51:17Z pjd $
30 */
31
32#ifndef _SYS_RMLOCK_H_
33#define _SYS_RMLOCK_H_
34
35#include <sys/mutex.h>
36#include <sys/sx.h>
37#include <sys/_lock.h>

--- 6 unchanged lines hidden (view full) ---

44 */
45#define RM_NOWITNESS 0x00000001
46#define RM_RECURSE 0x00000002
47#define RM_SLEEPABLE 0x00000004
48
49void rm_init(struct rmlock *rm, const char *name);
50void rm_init_flags(struct rmlock *rm, const char *name, int opts);
51void rm_destroy(struct rmlock *rm);
30 */
31
32#ifndef _SYS_RMLOCK_H_
33#define _SYS_RMLOCK_H_
34
35#include <sys/mutex.h>
36#include <sys/sx.h>
37#include <sys/_lock.h>

--- 6 unchanged lines hidden (view full) ---

44 */
45#define RM_NOWITNESS 0x00000001
46#define RM_RECURSE 0x00000002
47#define RM_SLEEPABLE 0x00000004
48
49void rm_init(struct rmlock *rm, const char *name);
50void rm_init_flags(struct rmlock *rm, const char *name, int opts);
51void rm_destroy(struct rmlock *rm);
52int rm_wowned(struct rmlock *rm);
52int rm_wowned(const struct rmlock *rm);
53void rm_sysinit(void *arg);
54void rm_sysinit_flags(void *arg);
55
56void _rm_wlock_debug(struct rmlock *rm, const char *file, int line);
57void _rm_wunlock_debug(struct rmlock *rm, const char *file, int line);
58int _rm_rlock_debug(struct rmlock *rm, struct rm_priotracker *tracker,
59 int trylock, const char *file, int line);
60void _rm_runlock_debug(struct rmlock *rm, struct rm_priotracker *tracker,

--- 67 unchanged lines hidden ---
53void rm_sysinit(void *arg);
54void rm_sysinit_flags(void *arg);
55
56void _rm_wlock_debug(struct rmlock *rm, const char *file, int line);
57void _rm_wunlock_debug(struct rmlock *rm, const char *file, int line);
58int _rm_rlock_debug(struct rmlock *rm, struct rm_priotracker *tracker,
59 int trylock, const char *file, int line);
60void _rm_runlock_debug(struct rmlock *rm, struct rm_priotracker *tracker,

--- 67 unchanged lines hidden ---