uint32_t highest_virtual_uid;
unsigned int precache_extra_count;
+ unsigned int indexing:1;
unsigned int precached:1;
unsigned int mails_saved:1;
unsigned int failed:1;
if (fmail->virtual_mail) {
if (ft->highest_virtual_uid < _mail->uid)
ft->highest_virtual_uid = _mail->uid;
- } else T_BEGIN {
+ } else if (!ft->indexing) T_BEGIN {
+ /* avoid recursing here from fts_mail_precache_range() */
+ ft->indexing = TRUE;
fts_mail_index(_mail);
+ i_assert(ft->indexing);
+ ft->indexing = FALSE;
} T_END;
}