diff options
author | Gilles Chehade <gilles@poolp.org> | 2012-12-26 12:51:30 +0100 |
---|---|---|
committer | Gilles Chehade <gilles@poolp.org> | 2012-12-26 12:51:30 +0100 |
commit | 09940830564b37ac9cac09790eb1e458d0624f10 (patch) | |
tree | bec89e4a50df1a4bb52ffb2c6978f0584aa6cf66 /smtpd/delivery_filename.c | |
parent | send commit/rollback event to the mfa (diff) | |
download | OpenSMTPD-09940830564b37ac9cac09790eb1e458d0624f10.tar.xz OpenSMTPD-09940830564b37ac9cac09790eb1e458d0624f10.zip |
do not fail on EINVAL in delivery_filename as we may be delivering
to a descriptor that does not support fsync()
Diffstat (limited to 'smtpd/delivery_filename.c')
-rw-r--r-- | smtpd/delivery_filename.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/smtpd/delivery_filename.c b/smtpd/delivery_filename.c index f4bc4880..58b9a6f5 100644 --- a/smtpd/delivery_filename.c +++ b/smtpd/delivery_filename.c @@ -92,8 +92,10 @@ delivery_filename_open(struct deliver *deliver) putc('\n', fp); if (fflush(fp) == EOF || ferror(fp)) error2("write error"); - if (fsync(fd) < 0) - error2("fsync"); + if (fsync(fd) == -1) { + if (errno != EINVAL) + error2("fsync"); + } if (fclose(fp) == EOF) error2("fclose"); _exit(0); |