summaryrefslogtreecommitdiffstats
path: root/sys/netinet/sctp_lock_bsd.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/netinet/sctp_lock_bsd.h')
-rw-r--r--sys/netinet/sctp_lock_bsd.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/sys/netinet/sctp_lock_bsd.h b/sys/netinet/sctp_lock_bsd.h
index dd9c2ce..fcdcf4a 100644
--- a/sys/netinet/sctp_lock_bsd.h
+++ b/sys/netinet/sctp_lock_bsd.h
@@ -2,6 +2,8 @@
#define __sctp_lock_bsd_h__
/*-
* Copyright (c) 2001-2007, by Cisco Systems, Inc. All rights reserved.
+ * Copyright (c) 2008-2011, by Randall Stewart. All rights reserved.
+ * Copyright (c) 2008-2011, by Michael Tuexen. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
@@ -97,6 +99,48 @@ extern int sctp_logoff_stuff;
rw_rlock(&SCTP_BASE_INFO(ipi_ep_mtx)); \
} while (0)
+#define SCTP_MCORE_QLOCK_INIT(cpstr) do { \
+ mtx_init(&(cpstr)->que_mtx, \
+ "sctp-mcore_queue","queue_lock", \
+ MTX_DEF|MTX_DUPOK); \
+} while (0)
+
+#define SCTP_MCORE_QLOCK(cpstr) do { \
+ mtx_lock(&(cpstr)->que_mtx); \
+} while (0)
+
+#define SCTP_MCORE_QUNLOCK(cpstr) do { \
+ mtx_unlock(&(cpstr)->que_mtx); \
+} while (0)
+
+#define SCTP_MCORE_QDESTROY(cpstr) do { \
+ if(mtx_owned(&(cpstr)->core_mtx)) { \
+ mtx_unlock(&(cpstr)->que_mtx); \
+ } \
+ mtx_destroy(&(cpstr)->que_mtx); \
+} while (0)
+
+
+#define SCTP_MCORE_LOCK_INIT(cpstr) do { \
+ mtx_init(&(cpstr)->core_mtx, \
+ "sctp-cpulck","cpu_proc_lock", \
+ MTX_DEF|MTX_DUPOK); \
+} while (0)
+
+#define SCTP_MCORE_LOCK(cpstr) do { \
+ mtx_lock(&(cpstr)->core_mtx); \
+} while (0)
+
+#define SCTP_MCORE_UNLOCK(cpstr) do { \
+ mtx_unlock(&(cpstr)->core_mtx); \
+} while (0)
+
+#define SCTP_MCORE_DESTROY(cpstr) do { \
+ if(mtx_owned(&(cpstr)->core_mtx)) { \
+ mtx_unlock(&(cpstr)->core_mtx); \
+ } \
+ mtx_destroy(&(cpstr)->core_mtx); \
+} while (0)
#define SCTP_INP_INFO_WLOCK() do { \
rw_wlock(&SCTP_BASE_INFO(ipi_ep_mtx)); \
OpenPOWER on IntegriCloud