aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorRobert Watson <rwatson@FreeBSD.org>2010-03-06 21:24:11 +0000
committerRobert Watson <rwatson@FreeBSD.org>2010-03-06 21:24:11 +0000
commit66f80e90efc86f6f89c6a8f13a34f38e29be818b (patch)
tree9d4c397bc8a2e9f6ca305165d5fe00866dcd2bdb /sys
parenteea3faf77b5d7c2569cb2cd83cf4446107d3a1a5 (diff)
downloadsrc-66f80e90efc86f6f89c6a8f13a34f38e29be818b.tar.gz
src-66f80e90efc86f6f89c6a8f13a34f38e29be818b.zip
Wrap use of rw_try_upgrade() on pcbinfo with macro INP_INFO_TRY_UPGRADE()
to match other pcbinfo locking macros. MFC after: 1 week
Notes
Notes: svn path=/head/; revision=204806
Diffstat (limited to 'sys')
-rw-r--r--sys/netinet/in_pcb.h1
-rw-r--r--sys/netinet/tcp_input.c4
2 files changed, 3 insertions, 2 deletions
diff --git a/sys/netinet/in_pcb.h b/sys/netinet/in_pcb.h
index 811cf9fe9f0e..6e3a24bef0db 100644
--- a/sys/netinet/in_pcb.h
+++ b/sys/netinet/in_pcb.h
@@ -376,6 +376,7 @@ void inp_4tuple_get(struct inpcb *inp, uint32_t *laddr, uint16_t *lp,
#define INP_INFO_WLOCK(ipi) rw_wlock(&(ipi)->ipi_lock)
#define INP_INFO_TRY_RLOCK(ipi) rw_try_rlock(&(ipi)->ipi_lock)
#define INP_INFO_TRY_WLOCK(ipi) rw_try_wlock(&(ipi)->ipi_lock)
+#define INP_INFO_TRY_UPGRADE(ipi) rw_try_upgrade(&(ipi)->ipi_lock)
#define INP_INFO_RUNLOCK(ipi) rw_runlock(&(ipi)->ipi_lock)
#define INP_INFO_WUNLOCK(ipi) rw_wunlock(&(ipi)->ipi_lock)
#define INP_INFO_LOCK_ASSERT(ipi) rw_assert(&(ipi)->ipi_lock, RA_LOCKED)
diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c
index 09f834bcabdd..edc8d0a6a894 100644
--- a/sys/netinet/tcp_input.c
+++ b/sys/netinet/tcp_input.c
@@ -632,7 +632,7 @@ relocked:
("%s: INP_TIMEWAIT ti_locked %d", __func__, ti_locked));
if (ti_locked == TI_RLOCKED) {
- if (rw_try_upgrade(&V_tcbinfo.ipi_lock) == 0) {
+ if (INP_INFO_TRY_UPGRADE(&V_tcbinfo) == 0) {
in_pcbref(inp);
INP_WUNLOCK(inp);
INP_INFO_RUNLOCK(&V_tcbinfo);
@@ -683,7 +683,7 @@ relocked:
("%s: upgrade check ti_locked %d", __func__, ti_locked));
if (ti_locked == TI_RLOCKED) {
- if (rw_try_upgrade(&V_tcbinfo.ipi_lock) == 0) {
+ if (INP_INFO_TRY_UPGRADE(&V_tcbinfo) == 0) {
in_pcbref(inp);
INP_WUNLOCK(inp);
INP_INFO_RUNLOCK(&V_tcbinfo);