aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorRobert Watson <rwatson@FreeBSD.org>2008-04-27 15:50:00 +0000
committerRobert Watson <rwatson@FreeBSD.org>2008-04-27 15:50:00 +0000
commitae11a989e6e04fa591e81e754223f52a0661ebe9 (patch)
tree2d3da93cdfd428a9cccc782fc851c3f229e1af0b /sys
parent5318f8408bb620d7d2e7d1749f60f9072a07fda5 (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/kern/uipc_syscalls.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/kern/uipc_syscalls.c b/sys/kern/uipc_syscalls.c
index ab5cb5f8f506..0599b229d236 100644
--- a/sys/kern/uipc_syscalls.c
+++ b/sys/kern/uipc_syscalls.c
@@ -2207,10 +2207,11 @@ retry_space:
* Send trailers. Wimp out and use writev(2).
*/
if (trl_uio != NULL) {
+ sbunlock(&so->so_snd);
error = kern_writev(td, uap->s, trl_uio);
- if (error)
- goto done;
- sbytes += td->td_retval[0];
+ if (error == 0)
+ sbytes += td->td_retval[0];
+ goto out;
}
done: