diff options
| author | Robert Watson <rwatson@FreeBSD.org> | 2008-04-27 15:50:00 +0000 |
|---|---|---|
| committer | Robert Watson <rwatson@FreeBSD.org> | 2008-04-27 15:50:00 +0000 |
| commit | ae11a989e6e04fa591e81e754223f52a0661ebe9 (patch) | |
| tree | 2d3da93cdfd428a9cccc782fc851c3f229e1af0b /sys | |
| parent | 5318f8408bb620d7d2e7d1749f60f9072a07fda5 (diff) | |
Notes
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/kern/uipc_syscalls.c | 7 |
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: |
