]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
Handle inconsistency error separately.
authorTimo Sirainen <tss@iki.fi>
Sat, 3 May 2003 17:36:34 +0000 (20:36 +0300)
committerTimo Sirainen <tss@iki.fi>
Sat, 3 May 2003 17:36:34 +0000 (20:36 +0300)
--HG--
branch : HEAD

src/pop3/client.c

index 252c2647152327c011ac84036426060452c5b7ea..9961df39d76d60e4c622f2fbe8e3ceb248985c1c 100644 (file)
@@ -188,6 +188,14 @@ void client_send_storage_error(struct client *client)
 {
        const char *error;
 
+       if (client->mailbox->is_inconsistency_error(client->mailbox)) {
+               /* we can't do forced CLOSE, so have to disconnect */
+               client_send_line(client, "-ERR Mailbox is in inconsistent "
+                                "state, please relogin.");
+               client_disconnect(client);
+               return;
+       }
+
        error = client->storage->get_last_error(client->storage, NULL);
        client_send_line(client, "-ERR %s", error != NULL ? error :
                         "BUG: Unknown error");