/* syncing will update this if non-NULL */
struct mail_index_transaction_commit_result *sync_commit_result;
- int lock_type;
- unsigned int lock_id_counter;
enum file_lock_method lock_method;
unsigned int max_lock_timeout_secs;
- struct file_lock *file_lock;
- struct dotlock *dotlock;
-
pool_t keywords_pool;
ARRAY_TYPE(keywords) keywords;
HASH_TABLE(char *, void *) keywords_hash; /* name -> unsigned int idx */
i_strdup("(in-memory index)") :
i_strconcat(index->dir, "/", index->prefix, NULL);
- index->lock_type = F_UNLCK;
- index->lock_id_counter = 2;
-
index->readonly = FALSE;
index->nodiskspace = FALSE;
index->index_lock_timeout = FALSE;
void mail_index_close_file(struct mail_index *index)
{
- if (index->file_lock != NULL)
- file_lock_free(&index->file_lock);
-
if (index->fd != -1) {
if (close(index->fd) < 0)
mail_index_set_syscall_error(index, "close()");
index->fd = -1;
}
-
- index->lock_id_counter += 2;
- index->lock_type = F_UNLCK;
}
static void mail_index_close_nonopened(struct mail_index *index)
mail_transaction_log_move_to_memory(index->log);
}
- if (index->file_lock != NULL)
- file_lock_free(&index->file_lock);
-
if (index->fd != -1) {
if (close(index->fd) < 0)
mail_index_set_syscall_error(index, "close()");