Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet/tcp_usrreq.c
Context not available. | |||||
INP_HASH_WLOCK(&V_tcbinfo); | INP_HASH_WLOCK(&V_tcbinfo); | ||||
if (inp->inp_lport == 0) { | if (inp->inp_lport == 0) { | ||||
error = in_pcbbind(inp, (struct sockaddr *)0, td->td_ucred); | inp->inp_flags |= INP_ANONPORT; | ||||
if (error) | error = in_pcbbind(inp, nam, td->td_ucred); | ||||
if (error) { | |||||
inp->inp_flags &= ~INP_ANONPORT; | |||||
goto out; | goto out; | ||||
} | |||||
} | } | ||||
/* | /* | ||||
Context not available. | |||||
INP_HASH_WLOCK(&V_tcbinfo); | INP_HASH_WLOCK(&V_tcbinfo); | ||||
if (inp->inp_lport == 0) { | if (inp->inp_lport == 0) { | ||||
error = in6_pcbbind(inp, (struct sockaddr *)0, td->td_ucred); | inp->inp_flags |= INP_ANONPORT; | ||||
if (error) | error = in6_pcbbind(inp, nam, td->td_ucred); | ||||
if (error) { | |||||
inp->inp_flags &= ~INP_ANONPORT; | |||||
goto out; | goto out; | ||||
} | |||||
} | } | ||||
error = in6_pcbconnect(inp, nam, td->td_ucred); | error = in6_pcbconnect(inp, nam, td->td_ucred); | ||||
if (error != 0) | if (error != 0) | ||||
Context not available. |