]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: mail_storage_service_user_unref() - deactivate user before removing...
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Mon, 11 Dec 2017 23:33:08 +0000 (01:33 +0200)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Wed, 13 Dec 2017 11:04:26 +0000 (13:04 +0200)
Otherwise the next commit won't work correctly.

src/lib-storage/mail-storage-service.c

index e3abd535733dc4f87de7d508657979d1d25c1d27..0b23d82de5de40ce5bd6d9c097e1ac85608c3f4f 100644 (file)
@@ -1568,11 +1568,11 @@ void mail_storage_service_user_unref(struct mail_storage_service_user **_user)
                return;
 
        if (user->ioloop_ctx != NULL) {
+               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);
-               if (io_loop_get_current_context(current_ioloop) == user->ioloop_ctx)
-                       mail_storage_service_io_deactivate_user(user);
                io_loop_context_unref(&user->ioloop_ctx);
        }
        settings_parser_deinit(&user->set_parser);