23 |
|
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
24 |
|
* SUCH DAMAGE. |
25 |
|
* |
26 |
< |
* $FreeBSD: src/sys/cddl/compat/opensolaris/sys/mutex.h,v 1.5.2.2.2.1 2008/11/25 02:59:29 kensmith Exp $ |
26 |
> |
* $FreeBSD: src/sys/compat/opensolaris/sys/mutex.h,v 1.3 2007/05/26 21:37:14 pjd Exp $ |
27 |
|
*/ |
28 |
|
|
29 |
|
#ifndef _OPENSOLARIS_SYS_MUTEX_H_ |
53 |
|
#endif |
54 |
|
|
55 |
|
#define mutex_init(lock, desc, type, arg) do { \ |
56 |
– |
const char *_name; \ |
56 |
|
ASSERT((type) == MUTEX_DEFAULT); \ |
57 |
|
KASSERT(((lock)->lock_object.lo_flags & LO_ALLMASK) != \ |
58 |
|
LO_EXPECTED, ("lock %s already initialized", #lock)); \ |
59 |
|
bzero((lock), sizeof(struct sx)); \ |
60 |
< |
for (_name = #lock; *_name != '\0'; _name++) { \ |
62 |
< |
if (*_name >= 'a' && *_name <= 'z') \ |
63 |
< |
break; \ |
64 |
< |
} \ |
65 |
< |
if (*_name == '\0') \ |
66 |
< |
_name = #lock; \ |
67 |
< |
sx_init_flags((lock), _name, MUTEX_FLAGS); \ |
60 |
> |
sx_init_flags((lock), "zfs:" #lock, MUTEX_FLAGS); \ |
61 |
|
} while (0) |
62 |
|
#define mutex_destroy(lock) sx_destroy(lock) |
63 |
|
#define mutex_enter(lock) sx_xlock(lock) |