From: Timo Sirainen Date: Wed, 8 Mar 2017 22:09:12 +0000 (-0500) Subject: pop3: Add client.destroyed boolean X-Git-Tag: 2.3.0.rc1~1938 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7c6347e851175dd64ec490999b8a1fa020927ed1;p=thirdparty%2Fdovecot%2Fcore.git pop3: Add client.destroyed boolean --- diff --git a/src/pop3/pop3-client.c b/src/pop3/pop3-client.c index 52c4eeea4c..8c4b695935 100644 --- a/src/pop3/pop3-client.c +++ b/src/pop3/pop3-client.c @@ -571,6 +571,10 @@ void client_destroy(struct client *client, const char *reason) static void client_default_destroy(struct client *client, const char *reason) { + i_assert(!client->destroyed); + + client->destroyed = TRUE; + if (client->seen_change_count > 0) (void)client_update_mails(client); diff --git a/src/pop3/pop3-client.h b/src/pop3/pop3-client.h index ed4a115771..db3b2110f0 100644 --- a/src/pop3/pop3-client.h +++ b/src/pop3/pop3-client.h @@ -96,6 +96,7 @@ struct client { /* Module-specific contexts. */ ARRAY(union pop3_module_context *) module_contexts; + bool destroyed:1; bool disconnected:1; bool deleted:1; bool waiting_input:1;