From: Martti Rannanjärvi Date: Thu, 8 Sep 2016 16:01:54 +0000 (+0300) Subject: lib-index: limit mail_index error prints to one per ioloop_time X-Git-Tag: 2.3.0.rc1~3058 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3c014db6f22aa3d18676f69f2881ab4336b6ecff;p=thirdparty%2Fdovecot%2Fcore.git lib-index: limit mail_index error prints to one per ioloop_time This is to prevent log flooding. --- diff --git a/src/lib-index/mail-index-private.h b/src/lib-index/mail-index-private.h index b2e219bb55..9e94c9fc13 100644 --- a/src/lib-index/mail-index-private.h +++ b/src/lib-index/mail-index-private.h @@ -215,6 +215,8 @@ struct mail_index { ARRAY(union mail_index_module_context *) module_contexts; char *error; + time_t last_error_time; + bool nodiskspace:1; bool index_lock_timeout:1; diff --git a/src/lib-index/mail-index.c b/src/lib-index/mail-index.c index 596039d805..87c58ff8c3 100644 --- a/src/lib-index/mail-index.c +++ b/src/lib-index/mail-index.c @@ -753,7 +753,10 @@ void mail_index_set_error(struct mail_index *index, const char *fmt, ...) index->error = i_strdup_vprintf(fmt, va); va_end(va); - i_error("%s", index->error); + if (ioloop_time != index->last_error_time) { + index->last_error_time = ioloop_time; + i_error("%s", index->error); + } } }