Mercurial > dovecot > core-2.2
changeset 20563:e6647016bc12
last-login: Add error handling for commit
author | Aki Tuomi <aki.tuomi@dovecot.fi> |
---|---|
date | Thu, 04 Aug 2016 08:55:12 +0300 |
parents | 1e842633f27a |
children | dced7deca4d6 |
files | src/plugins/last-login/last-login-plugin.c |
diffstat | 1 files changed, 15 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/plugins/last-login/last-login-plugin.c Wed Aug 03 13:18:17 2016 +0300 +++ b/src/plugins/last-login/last-login-plugin.c Thu Aug 04 08:55:12 2016 +0300 @@ -47,11 +47,25 @@ luser->module_ctx.super.deinit(user); } -static void last_login_dict_commit(int ret ATTR_UNUSED, void *context) +static void last_login_dict_commit(int ret, void *context) { struct mail_user *user = context; struct last_login_user *luser = LAST_LOGIN_USER_CONTEXT(user); + switch(ret) { + case DICT_COMMIT_RET_OK: + case DICT_COMMIT_RET_NOTFOUND: + break; + case DICT_COMMIT_RET_FAILED: + i_error("last_login_dict: Failed to write value for user %s", + user->username); + break; + case DICT_COMMIT_RET_WRITE_UNCERTAIN: + i_error("last_login_dict: Write was unconfirmed (timeout or disconnect) for user %s", + user->username); + break; + }; + /* don't deinit the dict immediately here, lib-dict will just crash */ luser->to = timeout_add(0, last_login_dict_deinit, user); }