From: Timo Sirainen Date: Tue, 1 Oct 2019 16:06:10 +0000 (+0300) Subject: lib-index: Add event to mailbox_log X-Git-Tag: 2.3.11.2~603 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d1699b9880a1fd800c36d14176b1411671623e80;p=thirdparty%2Fdovecot%2Fcore.git lib-index: Add event to mailbox_log --- diff --git a/src/lib-index/mailbox-log.c b/src/lib-index/mailbox-log.c index e75826192e..ff4595866c 100644 --- a/src/lib-index/mailbox-log.c +++ b/src/lib-index/mailbox-log.c @@ -23,6 +23,7 @@ struct mailbox_log { char *filepath, *filepath2; int fd; + struct event *event; time_t open_timestamp; mode_t mode; @@ -44,11 +45,13 @@ struct mailbox_log_iter { static void mailbox_log_close(struct mailbox_log *log); -struct mailbox_log *mailbox_log_alloc(const char *path) +struct mailbox_log * +mailbox_log_alloc(struct event *parent_event, const char *path) { struct mailbox_log *log; log = i_new(struct mailbox_log, 1); + log->event = event_create(parent_event); log->filepath = i_strdup(path); log->filepath2 = i_strconcat(path, ".2", NULL); log->mode = 0644; @@ -64,6 +67,7 @@ void mailbox_log_free(struct mailbox_log **_log) *_log = NULL; mailbox_log_close(log); + event_unref(&log->event); i_free(log->gid_origin); i_free(log->filepath); i_free(log->filepath2); diff --git a/src/lib-index/mailbox-log.h b/src/lib-index/mailbox-log.h index 9f58a1da87..ef19fc23c2 100644 --- a/src/lib-index/mailbox-log.h +++ b/src/lib-index/mailbox-log.h @@ -19,7 +19,8 @@ struct mailbox_log_record { uint8_t timestamp[4]; }; -struct mailbox_log *mailbox_log_alloc(const char *path); +struct mailbox_log * +mailbox_log_alloc(struct event *parent_event, const char *path); void mailbox_log_free(struct mailbox_log **log); void mailbox_log_set_permissions(struct mailbox_log *log, mode_t mode, diff --git a/src/lib-storage/mailbox-list.c b/src/lib-storage/mailbox-list.c index 5823ee04a1..b9573cb90c 100644 --- a/src/lib-storage/mailbox-list.c +++ b/src/lib-storage/mailbox-list.c @@ -1657,7 +1657,7 @@ static bool mailbox_list_init_changelog(struct mailbox_list *list) return FALSE; path = t_strconcat(path, "/"MAILBOX_LOG_FILE_NAME, NULL); - list->changelog = mailbox_log_alloc(path); + list->changelog = mailbox_log_alloc(list->ns->user->event, path); mailbox_list_get_root_permissions(list, &perm); mailbox_log_set_permissions(list->changelog, perm.file_create_mode,