svn commit: r287863 - projects/sendfile/sys/kern
Gleb Smirnoff
glebius at FreeBSD.org
Wed Sep 16 16:11:46 UTC 2015
Author: glebius
Date: Wed Sep 16 16:11:45 2015
New Revision: 287863
URL: https://svnweb.freebsd.org/changeset/base/287863
Log:
When I/O fails run full protocol abort routine, instead of flushing
socket only. The previous behavior lead to inconsistency between
TCP state and socket state.
Together with: rrs
Sponsored by: Netflix
Sponsored by: Nginx, Inc.
Modified:
projects/sendfile/sys/kern/uipc_syscalls.c
Modified: projects/sendfile/sys/kern/uipc_syscalls.c
==============================================================================
--- projects/sendfile/sys/kern/uipc_syscalls.c Wed Sep 16 15:40:08 2015 (r287862)
+++ projects/sendfile/sys/kern/uipc_syscalls.c Wed Sep 16 16:11:45 2015 (r287863)
@@ -2114,8 +2114,8 @@ sf_iodone(void *arg, vm_page_t *pg, int
* for read, so that application receives EIO on next
* syscall and eventually closes the socket.
*/
+ so->so_proto->pr_usrreqs->pru_abort(so);
so->so_error = EIO;
- soisdisconnected(so);
m = sfio->m;
for (int i = 0; i < sfio->npages; i++)
More information about the svn-src-projects
mailing list