Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet/tcp_usrreq.c
Show First 20 Lines • Show All 1,364 Lines • ▼ Show 20 Lines | if (!(inp->inp_flags & INP_TIMEWAIT) && | ||||
TCPDEBUG1(); | TCPDEBUG1(); | ||||
tp = tcp_drop(tp, ECONNABORTED); | tp = tcp_drop(tp, ECONNABORTED); | ||||
if (tp == NULL) | if (tp == NULL) | ||||
goto dropped; | goto dropped; | ||||
TCPDEBUG2(PRU_ABORT); | TCPDEBUG2(PRU_ABORT); | ||||
TCP_PROBE2(debug__user, tp, PRU_ABORT); | TCP_PROBE2(debug__user, tp, PRU_ABORT); | ||||
} | } | ||||
if (!(inp->inp_flags & INP_DROPPED)) { | if (!(inp->inp_flags & INP_DROPPED)) { | ||||
SOCK_LOCK(so); | soref(so); | ||||
so->so_state |= SS_PROTOREF; | |||||
SOCK_UNLOCK(so); | |||||
inp->inp_flags |= INP_SOCKREF; | inp->inp_flags |= INP_SOCKREF; | ||||
} | } | ||||
INP_WUNLOCK(inp); | INP_WUNLOCK(inp); | ||||
dropped: | dropped: | ||||
NET_EPOCH_EXIT(et); | NET_EPOCH_EXIT(et); | ||||
} | } | ||||
/* | /* | ||||
Show All 24 Lines | if (!(inp->inp_flags & INP_TIMEWAIT) && | ||||
tp = intotcpcb(inp); | tp = intotcpcb(inp); | ||||
tp->t_flags |= TF_CLOSED; | tp->t_flags |= TF_CLOSED; | ||||
TCPDEBUG1(); | TCPDEBUG1(); | ||||
tcp_disconnect(tp); | tcp_disconnect(tp); | ||||
TCPDEBUG2(PRU_CLOSE); | TCPDEBUG2(PRU_CLOSE); | ||||
TCP_PROBE2(debug__user, tp, PRU_CLOSE); | TCP_PROBE2(debug__user, tp, PRU_CLOSE); | ||||
} | } | ||||
if (!(inp->inp_flags & INP_DROPPED)) { | if (!(inp->inp_flags & INP_DROPPED)) { | ||||
SOCK_LOCK(so); | soref(so); | ||||
so->so_state |= SS_PROTOREF; | |||||
SOCK_UNLOCK(so); | |||||
inp->inp_flags |= INP_SOCKREF; | inp->inp_flags |= INP_SOCKREF; | ||||
} | } | ||||
INP_WUNLOCK(inp); | INP_WUNLOCK(inp); | ||||
NET_EPOCH_EXIT(et); | NET_EPOCH_EXIT(et); | ||||
} | } | ||||
static int | static int | ||||
tcp_pru_options_support(struct tcpcb *tp, int flags) | tcp_pru_options_support(struct tcpcb *tp, int flags) | ||||
▲ Show 20 Lines • Show All 1,813 Lines • Show Last 20 Lines |