dovecot-2.2: o_stream_ignore_last_errors() / o_stream_nfinish() ...

dovecot at dovecot.org dovecot at dovecot.org
Wed Aug 1 18:54:02 EEST 2012


details:   http://hg.dovecot.org/dovecot-2.2/rev/558db9e46789
changeset: 14741:558db9e46789
user:      Timo Sirainen <tss at iki.fi>
date:      Wed Aug 01 18:53:52 2012 +0300
description:
o_stream_ignore_last_errors() / o_stream_nfinish() now marks parent streams also as checked.

diffstat:

 src/lib/ostream.c |  7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diffs (23 lines):

diff -r 7ece66101bbd -r 558db9e46789 src/lib/ostream.c
--- a/src/lib/ostream.c	Wed Aug 01 18:33:14 2012 +0300
+++ b/src/lib/ostream.c	Wed Aug 01 18:53:52 2012 +0300
@@ -241,14 +241,17 @@
 int o_stream_nfinish(struct ostream *stream)
 {
 	o_stream_nflush(stream);
-	stream->real_stream->last_errors_not_checked = FALSE;
+	o_stream_ignore_last_errors(stream);
 	errno = stream->last_failed_errno;
 	return stream->last_failed_errno != 0 ? -1 : 0;
 }
 
 void o_stream_ignore_last_errors(struct ostream *stream)
 {
-	stream->real_stream->last_errors_not_checked = FALSE;
+	while (stream != NULL) {
+		stream->real_stream->last_errors_not_checked = FALSE;
+		stream = stream->real_stream->parent;
+	}
 }
 
 void o_stream_set_no_error_handling(struct ostream *stream, bool set)


More information about the dovecot-cvs mailing list