From: Timo Sirainen Date: Mon, 11 Dec 2017 23:17:22 +0000 (+0200) Subject: lib-storage: mail_storage_service_io_[de]activate_user() - [de]activate the whole... X-Git-Tag: 2.3.0.rc1~107 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cafe72dae0fd4dc48025e0c8dc189bf4901e9f70;p=thirdparty%2Fdovecot%2Fcore.git lib-storage: mail_storage_service_io_[de]activate_user() - [de]activate the whole ioloop context --- diff --git a/src/lib-storage/mail-storage-service.c b/src/lib-storage/mail-storage-service.c index 0b23d82de5..ae4e828322 100644 --- a/src/lib-storage/mail-storage-service.c +++ b/src/lib-storage/mail-storage-service.c @@ -771,12 +771,24 @@ mail_storage_service_init_post(struct mail_storage_service_ctx *ctx, } void mail_storage_service_io_activate_user(struct mail_storage_service_user *user) +{ + io_loop_context_activate(user->ioloop_ctx); +} + +void mail_storage_service_io_deactivate_user(struct mail_storage_service_user *user) +{ + io_loop_context_deactivate(user->ioloop_ctx); +} + +static void +mail_storage_service_io_activate_user_cb(struct mail_storage_service_user *user) { if (user->log_prefix != NULL) i_set_failure_prefix("%s", user->log_prefix); } -void mail_storage_service_io_deactivate_user(struct mail_storage_service_user *user) +static void +mail_storage_service_io_deactivate_user_cb(struct mail_storage_service_user *user) { if (user->log_prefix != NULL) i_set_failure_prefix("%s", user->service_ctx->default_log_prefix); @@ -1452,8 +1464,8 @@ mail_storage_service_next_real(struct mail_storage_service_ctx *ctx, stats plugin. */ user->ioloop_ctx = io_loop_context_new(current_ioloop); io_loop_context_add_callbacks(user->ioloop_ctx, - mail_storage_service_io_activate_user, - mail_storage_service_io_deactivate_user, + mail_storage_service_io_activate_user_cb, + mail_storage_service_io_deactivate_user_cb, user); if ((user->flags & MAIL_STORAGE_SERVICE_FLAG_NO_LOG_INIT) == 0) @@ -1571,8 +1583,8 @@ void mail_storage_service_user_unref(struct mail_storage_service_user **_user) if (io_loop_get_current_context(current_ioloop) == user->ioloop_ctx) mail_storage_service_io_deactivate_user(user); io_loop_context_remove_callbacks(user->ioloop_ctx, - mail_storage_service_io_activate_user, - mail_storage_service_io_deactivate_user, user); + mail_storage_service_io_activate_user_cb, + mail_storage_service_io_deactivate_user_cb, user); io_loop_context_unref(&user->ioloop_ctx); } settings_parser_deinit(&user->set_parser);