diff options
author | hsu <hsu@FreeBSD.org> | 2003-02-12 00:42:12 +0000 |
---|---|---|
committer | hsu <hsu@FreeBSD.org> | 2003-02-12 00:42:12 +0000 |
commit | b65e44491dde45e736ffa55395238d73f4e05d10 (patch) | |
tree | 373d807862e75b822fbe16d1b5f059f8d5fbe5b3 /sys/netinet/tcp_syncache.c | |
parent | 8bf75a2e40d27e97d74ce91498a6ea6ba468bf2b (diff) | |
download | FreeBSD-src-b65e44491dde45e736ffa55395238d73f4e05d10.zip FreeBSD-src-b65e44491dde45e736ffa55395238d73f4e05d10.tar.gz |
Properly document that syncache timer processing requires an
exclusive TCP protocol lock.
Diffstat (limited to 'sys/netinet/tcp_syncache.c')
-rw-r--r-- | sys/netinet/tcp_syncache.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c index ba13efa..daf6d89 100644 --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -369,10 +369,10 @@ syncache_timer(xslot) int s; s = splnet(); - INP_INFO_RLOCK(&tcbinfo); + INP_INFO_WLOCK(&tcbinfo); if (callout_pending(&tcp_syncache.tt_timerq[slot]) || !callout_active(&tcp_syncache.tt_timerq[slot])) { - INP_INFO_RUNLOCK(&tcbinfo); + INP_INFO_WUNLOCK(&tcbinfo); splx(s); return; } @@ -406,7 +406,7 @@ syncache_timer(xslot) if (nsc != NULL) callout_reset(&tcp_syncache.tt_timerq[slot], nsc->sc_rxttime - ticks, syncache_timer, (void *)(slot)); - INP_INFO_RUNLOCK(&tcbinfo); + INP_INFO_WUNLOCK(&tcbinfo); splx(s); } |