Consistently use the SOCKBUF_MTX() and SOCK_MTX() macros
This makes it easier to change the socket locking protocols. No functional change intended. MFC after: 1 week Sponsored by: The FreeBSD Foundation
This commit is contained in:
parent
f4bb1869dd
commit
a100217489
@ -729,7 +729,7 @@ icl_receive_thread(void *arg)
|
|||||||
available = sbavail(&so->so_rcv);
|
available = sbavail(&so->so_rcv);
|
||||||
if (read + available < ic->ic_receive_len) {
|
if (read + available < ic->ic_receive_len) {
|
||||||
so->so_rcv.sb_lowat = ic->ic_receive_len - read;
|
so->so_rcv.sb_lowat = ic->ic_receive_len - read;
|
||||||
cv_wait(&ic->ic_receive_cv, &so->so_rcv.sb_mtx);
|
cv_wait(&ic->ic_receive_cv, SOCKBUF_MTX(&so->so_rcv));
|
||||||
so->so_rcv.sb_lowat = so->so_rcv.sb_hiwat + 1;
|
so->so_rcv.sb_lowat = so->so_rcv.sb_hiwat + 1;
|
||||||
available = sbavail(&so->so_rcv);
|
available = sbavail(&so->so_rcv);
|
||||||
}
|
}
|
||||||
|
@ -446,7 +446,7 @@ sbwait(struct sockbuf *sb)
|
|||||||
SOCKBUF_LOCK_ASSERT(sb);
|
SOCKBUF_LOCK_ASSERT(sb);
|
||||||
|
|
||||||
sb->sb_flags |= SB_WAIT;
|
sb->sb_flags |= SB_WAIT;
|
||||||
return (msleep_sbt(&sb->sb_acc, &sb->sb_mtx,
|
return (msleep_sbt(&sb->sb_acc, SOCKBUF_MTX(sb),
|
||||||
(sb->sb_flags & SB_NOINTR) ? PSOCK : PSOCK | PCATCH, "sbwait",
|
(sb->sb_flags & SB_NOINTR) ? PSOCK : PSOCK | PCATCH, "sbwait",
|
||||||
sb->sb_timeo, 0, 0));
|
sb->sb_timeo, 0, 0));
|
||||||
}
|
}
|
||||||
|
@ -1015,7 +1015,7 @@ solisten_dequeue(struct socket *head, struct socket **ret, int flags)
|
|||||||
|
|
||||||
while (!(head->so_state & SS_NBIO) && TAILQ_EMPTY(&head->sol_comp) &&
|
while (!(head->so_state & SS_NBIO) && TAILQ_EMPTY(&head->sol_comp) &&
|
||||||
head->so_error == 0) {
|
head->so_error == 0) {
|
||||||
error = msleep(&head->sol_comp, &head->so_lock, PSOCK | PCATCH,
|
error = msleep(&head->sol_comp, SOCK_MTX(head), PSOCK | PCATCH,
|
||||||
"accept", 0);
|
"accept", 0);
|
||||||
if (error != 0) {
|
if (error != 0) {
|
||||||
SOLISTEN_UNLOCK(head);
|
SOLISTEN_UNLOCK(head);
|
||||||
|
@ -376,9 +376,9 @@ sctp_log_lock(struct sctp_inpcb *inp, struct sctp_tcb *stcb, uint8_t from)
|
|||||||
}
|
}
|
||||||
sctp_clog.x.lock.info_lock = rw_wowned(&SCTP_BASE_INFO(ipi_ep_mtx));
|
sctp_clog.x.lock.info_lock = rw_wowned(&SCTP_BASE_INFO(ipi_ep_mtx));
|
||||||
if (inp && (inp->sctp_socket)) {
|
if (inp && (inp->sctp_socket)) {
|
||||||
sctp_clog.x.lock.sock_lock = mtx_owned(&(inp->sctp_socket->so_rcv.sb_mtx));
|
sctp_clog.x.lock.sock_lock = mtx_owned(SOCK_MTX(inp->sctp_socket));
|
||||||
sctp_clog.x.lock.sockrcvbuf_lock = mtx_owned(&(inp->sctp_socket->so_rcv.sb_mtx));
|
sctp_clog.x.lock.sockrcvbuf_lock = mtx_owned(SOCKBUF_MTX(&inp->sctp_socket->so_rcv));
|
||||||
sctp_clog.x.lock.socksndbuf_lock = mtx_owned(&(inp->sctp_socket->so_snd.sb_mtx));
|
sctp_clog.x.lock.socksndbuf_lock = mtx_owned(SOCKBUF_MTX(&inp->sctp_socket->so_snd));
|
||||||
} else {
|
} else {
|
||||||
sctp_clog.x.lock.sock_lock = SCTP_LOCK_UNKNOWN;
|
sctp_clog.x.lock.sock_lock = SCTP_LOCK_UNKNOWN;
|
||||||
sctp_clog.x.lock.sockrcvbuf_lock = SCTP_LOCK_UNKNOWN;
|
sctp_clog.x.lock.sockrcvbuf_lock = SCTP_LOCK_UNKNOWN;
|
||||||
|
@ -218,7 +218,7 @@ struct socket {
|
|||||||
|
|
||||||
#ifdef _KERNEL
|
#ifdef _KERNEL
|
||||||
|
|
||||||
#define SOCK_MTX(so) &(so)->so_lock
|
#define SOCK_MTX(so) (&(so)->so_lock)
|
||||||
#define SOCK_LOCK(so) mtx_lock(&(so)->so_lock)
|
#define SOCK_LOCK(so) mtx_lock(&(so)->so_lock)
|
||||||
#define SOCK_OWNED(so) mtx_owned(&(so)->so_lock)
|
#define SOCK_OWNED(so) mtx_owned(&(so)->so_lock)
|
||||||
#define SOCK_UNLOCK(so) mtx_unlock(&(so)->so_lock)
|
#define SOCK_UNLOCK(so) mtx_unlock(&(so)->so_lock)
|
||||||
|
Loading…
Reference in New Issue
Block a user