summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorkmacy <kmacy@FreeBSD.org>2008-07-31 20:27:50 +0000
committerkmacy <kmacy@FreeBSD.org>2008-07-31 20:27:50 +0000
commit3bdaf5becf92a80bf4532a43163b41c1aca24d62 (patch)
tree48b0986878a5863a3ae8e4f44ab263822307c161 /sys
parent0bfdb53f7a57e9d090b45a377593b069fc8bb9cf (diff)
downloadFreeBSD-src-3bdaf5becf92a80bf4532a43163b41c1aca24d62.zip
FreeBSD-src-3bdaf5becf92a80bf4532a43163b41c1aca24d62.tar.gz
move sockbuf locking macros in to sockbuf.h
Diffstat (limited to 'sys')
-rw-r--r--sys/sys/sockbuf.h18
-rw-r--r--sys/sys/socketvar.h14
2 files changed, 18 insertions, 14 deletions
diff --git a/sys/sys/sockbuf.h b/sys/sys/sockbuf.h
index f736c4d..b081114 100644
--- a/sys/sys/sockbuf.h
+++ b/sys/sys/sockbuf.h
@@ -32,6 +32,10 @@
*/
#ifndef _SYS_SOCKBUF_H_
#define _SYS_SOCKBUF_H_
+#include <sys/selinfo.h> /* for struct selinfo */
+#include <sys/_lock.h>
+#include <sys/_mutex.h>
+#include <sys/_sx.h>
#define SB_MAX (256*1024) /* default for max chars in sockbuf */
@@ -99,6 +103,20 @@ struct sockbuf {
#ifdef _KERNEL
+/*
+ * Per-socket buffer mutex used to protect most fields in the socket
+ * buffer.
+ */
+#define SOCKBUF_MTX(_sb) (&(_sb)->sb_mtx)
+#define SOCKBUF_LOCK_INIT(_sb, _name) \
+ mtx_init(SOCKBUF_MTX(_sb), _name, NULL, MTX_DEF)
+#define SOCKBUF_LOCK_DESTROY(_sb) mtx_destroy(SOCKBUF_MTX(_sb))
+#define SOCKBUF_LOCK(_sb) mtx_lock(SOCKBUF_MTX(_sb))
+#define SOCKBUF_OWNED(_sb) mtx_owned(SOCKBUF_MTX(_sb))
+#define SOCKBUF_UNLOCK(_sb) mtx_unlock(SOCKBUF_MTX(_sb))
+#define SOCKBUF_LOCK_ASSERT(_sb) mtx_assert(SOCKBUF_MTX(_sb), MA_OWNED)
+#define SOCKBUF_UNLOCK_ASSERT(_sb) mtx_assert(SOCKBUF_MTX(_sb), MA_NOTOWNED)
+
void sbappend(struct sockbuf *sb, struct mbuf *m);
void sbappend_locked(struct sockbuf *sb, struct mbuf *m);
void sbappendstream(struct sockbuf *sb, struct mbuf *m);
diff --git a/sys/sys/socketvar.h b/sys/sys/socketvar.h
index 49d5d6c..8ce97e5 100644
--- a/sys/sys/socketvar.h
+++ b/sys/sys/socketvar.h
@@ -130,20 +130,6 @@ extern struct mtx accept_mtx;
#define ACCEPT_UNLOCK() mtx_unlock(&accept_mtx)
/*
- * Per-socket buffer mutex used to protect most fields in the socket
- * buffer.
- */
-#define SOCKBUF_MTX(_sb) (&(_sb)->sb_mtx)
-#define SOCKBUF_LOCK_INIT(_sb, _name) \
- mtx_init(SOCKBUF_MTX(_sb), _name, NULL, MTX_DEF)
-#define SOCKBUF_LOCK_DESTROY(_sb) mtx_destroy(SOCKBUF_MTX(_sb))
-#define SOCKBUF_LOCK(_sb) mtx_lock(SOCKBUF_MTX(_sb))
-#define SOCKBUF_OWNED(_sb) mtx_owned(SOCKBUF_MTX(_sb))
-#define SOCKBUF_UNLOCK(_sb) mtx_unlock(SOCKBUF_MTX(_sb))
-#define SOCKBUF_LOCK_ASSERT(_sb) mtx_assert(SOCKBUF_MTX(_sb), MA_OWNED)
-#define SOCKBUF_UNLOCK_ASSERT(_sb) mtx_assert(SOCKBUF_MTX(_sb), MA_NOTOWNED)
-
-/*
* Per-socket mutex: we reuse the receive socket buffer mutex for space
* efficiency. This decision should probably be revisited as we optimize
* locking for the socket code.
OpenPOWER on IntegriCloud