dovecot-2.2: lib-storage: Run each storage hook inside its own d...
dovecot at dovecot.org
dovecot at dovecot.org
Sat May 9 14:08:35 UTC 2015
details: http://hg.dovecot.org/dovecot-2.2/rev/de8561d67b38
changeset: 18599:de8561d67b38
user: Timo Sirainen <tss at iki.fi>
date: Sat May 09 17:06:42 2015 +0300
description:
lib-storage: Run each storage hook inside its own data stack frame.
diffstat:
src/lib-storage/mail-storage-hooks.c | 32 ++++++++++++++++++--------------
1 files changed, 18 insertions(+), 14 deletions(-)
diffs (112 lines):
diff -r f5cebd75975f -r de8561d67b38 src/lib-storage/mail-storage-hooks.c
--- a/src/lib-storage/mail-storage-hooks.c Sat May 09 17:05:17 2015 +0300
+++ b/src/lib-storage/mail-storage-hooks.c Sat May 09 17:06:42 2015 +0300
@@ -262,10 +262,10 @@
ctx = hook_build_init((void *)&user->v, sizeof(user->v));
user->vlast = &user->v;
array_foreach(&user->hooks, hooks) {
- if ((*hooks)->mail_user_created != NULL) {
+ if ((*hooks)->mail_user_created != NULL) T_BEGIN {
(*hooks)->mail_user_created(user);
hook_build_update(ctx, user->vlast);
- }
+ } T_END;
}
pool_unref(&ctx->pool);
}
@@ -275,8 +275,9 @@
const struct mail_storage_hooks *const *hooks;
array_foreach(&ns->user->hooks, hooks) {
- if ((*hooks)->mail_namespace_storage_added != NULL)
+ if ((*hooks)->mail_namespace_storage_added != NULL) T_BEGIN {
(*hooks)->mail_namespace_storage_added(ns);
+ } T_END;
}
}
@@ -285,8 +286,9 @@
const struct mail_storage_hooks *const *hooks;
array_foreach(&namespaces->user->hooks, hooks) {
- if ((*hooks)->mail_namespaces_created != NULL)
+ if ((*hooks)->mail_namespaces_created != NULL) T_BEGIN {
(*hooks)->mail_namespaces_created(namespaces);
+ } T_END;
}
}
@@ -295,8 +297,9 @@
const struct mail_storage_hooks *const *hooks;
array_foreach(&namespaces->user->hooks, hooks) {
- if ((*hooks)->mail_namespaces_added != NULL)
+ if ((*hooks)->mail_namespaces_added != NULL) T_BEGIN {
(*hooks)->mail_namespaces_added(namespaces);
+ } T_END;
}
}
@@ -308,10 +311,10 @@
ctx = hook_build_init((void *)&storage->v, sizeof(storage->v));
storage->vlast = &storage->v;
array_foreach(&storage->user->hooks, hooks) {
- if ((*hooks)->mail_storage_created != NULL) {
+ if ((*hooks)->mail_storage_created != NULL) T_BEGIN {
(*hooks)->mail_storage_created(storage);
hook_build_update(ctx, storage->vlast);
- }
+ } T_END;
}
pool_unref(&ctx->pool);
}
@@ -324,10 +327,10 @@
ctx = hook_build_init((void *)&list->v, sizeof(list->v));
list->vlast = &list->v;
array_foreach(&list->ns->user->hooks, hooks) {
- if ((*hooks)->mailbox_list_created != NULL) {
+ if ((*hooks)->mailbox_list_created != NULL) T_BEGIN {
(*hooks)->mailbox_list_created(list);
hook_build_update(ctx, list->vlast);
- }
+ } T_END;
}
pool_unref(&ctx->pool);
}
@@ -340,10 +343,10 @@
ctx = hook_build_init((void *)&box->v, sizeof(box->v));
box->vlast = &box->v;
array_foreach(&box->storage->user->hooks, hooks) {
- if ((*hooks)->mailbox_allocated != NULL) {
+ if ((*hooks)->mailbox_allocated != NULL) T_BEGIN {
(*hooks)->mailbox_allocated(box);
hook_build_update(ctx, box->vlast);
- }
+ } T_END;
}
pool_unref(&ctx->pool);
}
@@ -353,8 +356,9 @@
const struct mail_storage_hooks *const *hooks;
array_foreach(&box->storage->user->hooks, hooks) {
- if ((*hooks)->mailbox_opened != NULL)
+ if ((*hooks)->mailbox_opened != NULL) T_BEGIN {
(*hooks)->mailbox_opened(box);
+ } T_END;
}
}
@@ -367,10 +371,10 @@
ctx = hook_build_init((void *)&pmail->v, sizeof(pmail->v));
pmail->vlast = &pmail->v;
array_foreach(&mail->box->storage->user->hooks, hooks) {
- if ((*hooks)->mail_allocated != NULL) {
+ if ((*hooks)->mail_allocated != NULL) T_BEGIN {
(*hooks)->mail_allocated(mail);
hook_build_update(ctx, pmail->vlast);
- }
+ } T_END;
}
pool_unref(&ctx->pool);
}
More information about the dovecot-cvs
mailing list