Mercurial > dovecot > core-2.2
changeset 478:0363ba999da5 HEAD
OBuffer was closed if sendfile() wasn't supported.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Tue, 22 Oct 2002 01:23:20 +0300 |
parents | 6617a4d1c424 |
children | c64ef7b87247 |
files | src/lib/obuffer-file.c |
diffstat | 1 files changed, 8 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib/obuffer-file.c Tue Oct 22 01:18:25 2002 +0300 +++ b/src/lib/obuffer-file.c Tue Oct 22 01:23:20 2002 +0300 @@ -627,7 +627,11 @@ if (s_ret < 0) { if (errno != EINTR && errno != EAGAIN) { outbuf->obuffer.buf_errno = errno; - buffer_closed(foutbuf); + if (errno != EINVAL) { + /* close only if error wasn't because + sendfile() isn't supported */ + buffer_closed(foutbuf); + } return -1; } s_ret = 0; @@ -673,6 +677,9 @@ if (ret >= 0 || outbuf->obuffer.buf_errno != EINVAL) return ret; + /* sendfile() not supported, reset error */ + outbuf->obuffer.buf_errno = 0; + /* sendfile() not supported (with this fd), fallback to regular sending */