Changeset View
Changeset View
Standalone View
Standalone View
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,986 Lines • ▼ Show 20 Lines | while ((SCTP_SB_LIMIT_SND(so) < (inqueue_bytes + local_add_more)) || | ||||
SCTP_BASE_SYSCTL(sctp_max_chunks_on_queue)); | SCTP_BASE_SYSCTL(sctp_max_chunks_on_queue)); | ||||
if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_BLK_LOGGING_ENABLE) { | if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_BLK_LOGGING_ENABLE) { | ||||
sctp_log_block(SCTP_BLOCK_LOG_INTO_BLKA, asoc, sndlen); | sctp_log_block(SCTP_BLOCK_LOG_INTO_BLKA, asoc, sndlen); | ||||
} | } | ||||
be.error = 0; | be.error = 0; | ||||
stcb->block_entry = &be; | stcb->block_entry = &be; | ||||
SCTP_TCB_UNLOCK(stcb); | SCTP_TCB_UNLOCK(stcb); | ||||
hold_tcblock = false; | hold_tcblock = false; | ||||
error = sbwait(&so->so_snd); | error = sbwait(so, SO_SND); | ||||
if (error == 0) { | if (error == 0) { | ||||
if (so->so_error != 0) { | if (so->so_error != 0) { | ||||
error = so->so_error; | error = so->so_error; | ||||
} | } | ||||
if (be.error != 0) { | if (be.error != 0) { | ||||
error = be.error; | error = be.error; | ||||
} | } | ||||
} | } | ||||
▲ Show 20 Lines • Show All 343 Lines • ▼ Show 20 Lines | while (uio->uio_resid > 0) { | ||||
if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_BLK_LOGGING_ENABLE) { | if (SCTP_BASE_SYSCTL(sctp_logging_level) & SCTP_BLK_LOGGING_ENABLE) { | ||||
sctp_log_block(SCTP_BLOCK_LOG_INTO_BLK, | sctp_log_block(SCTP_BLOCK_LOG_INTO_BLK, | ||||
asoc, uio->uio_resid); | asoc, uio->uio_resid); | ||||
} | } | ||||
be.error = 0; | be.error = 0; | ||||
stcb->block_entry = &be; | stcb->block_entry = &be; | ||||
SCTP_TCB_UNLOCK(stcb); | SCTP_TCB_UNLOCK(stcb); | ||||
hold_tcblock = false; | hold_tcblock = false; | ||||
error = sbwait(&so->so_snd); | error = sbwait(so, SO_SND); | ||||
if (error == 0) { | if (error == 0) { | ||||
if (so->so_error != 0) | if (so->so_error != 0) | ||||
error = so->so_error; | error = so->so_error; | ||||
if (be.error != 0) { | if (be.error != 0) { | ||||
error = be.error; | error = be.error; | ||||
} | } | ||||
} | } | ||||
SOCKBUF_UNLOCK(&so->so_snd); | SOCKBUF_UNLOCK(&so->so_snd); | ||||
▲ Show 20 Lines • Show All 446 Lines • Show Last 20 Lines |