diff --git a/NEWS b/NEWS index cecfe730..1ff25dde 100644 --- a/NEWS +++ b/NEWS @@ -8,6 +8,7 @@ NEWS * Fix default vhost in mod_simple_vhost (fixes #1905) * Handle EINTR in mod_rrdtool (fixes #604) * Fix rrd error after graceful restart (fixes #419) + * Fix EAGAIN handling for freebsd sendfile (fixes #1913, thx AnMaster for spotting the problem) - 1.4.21 - 2009-02-16 diff --git a/src/network_freebsd_sendfile.c b/src/network_freebsd_sendfile.c index 8e76040a..c513bf00 100644 --- a/src/network_freebsd_sendfile.c +++ b/src/network_freebsd_sendfile.c @@ -167,8 +167,8 @@ int network_write_chunkqueue_freebsdsendfile(server *srv, connection *con, int f switch(errno) { case EAGAIN: case EINTR: - r = 0; /* try again later */ - break; + /* for EAGAIN r still contains the sent bytes */ + break; /* try again later */ case ENOTCONN: return -2; default: