Changeset View
Changeset View
Standalone View
Standalone View
head/sys/netinet/sctp_output.c
- This file is larger than 256 KB, so syntax highlighting is disabled by default.
Show First 20 Lines • Show All 12,830 Lines • ▼ Show 20 Lines | #endif | ||||
if (sctp_is_feature_on(inp, SCTP_PCB_FLAGS_NO_FRAGMENT)) { | if (sctp_is_feature_on(inp, SCTP_PCB_FLAGS_NO_FRAGMENT)) { | ||||
if (sndlen > asoc->smallest_mtu) { | if (sndlen > asoc->smallest_mtu) { | ||||
SCTP_LTRACE_ERR_RET(inp, stcb, net, SCTP_FROM_SCTP_OUTPUT, EMSGSIZE); | SCTP_LTRACE_ERR_RET(inp, stcb, net, SCTP_FROM_SCTP_OUTPUT, EMSGSIZE); | ||||
error = EMSGSIZE; | error = EMSGSIZE; | ||||
goto out_unlocked; | goto out_unlocked; | ||||
} | } | ||||
} | } | ||||
if (SCTP_SO_IS_NBIO(so) | if (SCTP_SO_IS_NBIO(so) | ||||
|| (flags & MSG_NBIO) | || (flags & (MSG_NBIO | MSG_DONTWAIT)) != 0 | ||||
) { | ) { | ||||
non_blocking = 1; | non_blocking = 1; | ||||
} | } | ||||
/* would we block? */ | /* would we block? */ | ||||
if (non_blocking) { | if (non_blocking) { | ||||
uint32_t amount; | uint32_t amount; | ||||
if (hold_tcblock == 0) { | if (hold_tcblock == 0) { | ||||
▲ Show 20 Lines • Show All 1,005 Lines • Show Last 20 Lines |