From: Timo Sirainen Date: Mon, 26 Apr 2021 11:13:09 +0000 (+0300) Subject: lib-storage: Add data stack frames to mail_set_*() X-Git-Tag: 2.3.16~237 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7fae81da43eaab3d09f2954c0e7ff9fc03f0b150;p=thirdparty%2Fdovecot%2Fcore.git lib-storage: Add data stack frames to mail_set_*() This can reduce data stack usage significantly with mail thread building. --- diff --git a/src/lib-storage/mail.c b/src/lib-storage/mail.c index 6bcbbd1e34..e1ea330ab6 100644 --- a/src/lib-storage/mail.c +++ b/src/lib-storage/mail.c @@ -49,21 +49,29 @@ void mail_set_seq(struct mail *mail, uint32_t seq) { struct mail_private *p = (struct mail_private *)mail; - p->v.set_seq(mail, seq, FALSE); + T_BEGIN { + p->v.set_seq(mail, seq, FALSE); + } T_END; } void mail_set_seq_saving(struct mail *mail, uint32_t seq) { struct mail_private *p = (struct mail_private *)mail; - p->v.set_seq(mail, seq, TRUE); + T_BEGIN { + p->v.set_seq(mail, seq, TRUE); + } T_END; } bool mail_set_uid(struct mail *mail, uint32_t uid) { struct mail_private *p = (struct mail_private *)mail; + bool ret; - return p->v.set_uid(mail, uid); + T_BEGIN { + ret = p->v.set_uid(mail, uid); + } T_END; + return ret; } bool mail_prefetch(struct mail *mail)