From: Wilfried Goesgens Date: Mon, 23 Jul 2012 13:43:31 +0000 (+0200) Subject: SMTP-Client: on termination we need to determine whether we're in DB-IO or Socket... X-Git-Tag: v8.20~297 X-Git-Url: https://code.citadel.org/?p=citadel.git;a=commitdiff_plain;h=180991e8bb3d98024a93c2b25a9e757b6e9979d3 SMTP-Client: on termination we need to determine whether we're in DB-IO or Socket operation state --- diff --git a/citadel/modules/smtp/serv_smtpeventclient.c b/citadel/modules/smtp/serv_smtpeventclient.c index 9e97dda97..548f0b69a 100644 --- a/citadel/modules/smtp/serv_smtpeventclient.c +++ b/citadel/modules/smtp/serv_smtpeventclient.c @@ -751,6 +751,28 @@ eNextState SMTP_C_Shutdown(AsyncIO *IO) EVS_syslog(LOG_DEBUG, "%s\n", __FUNCTION__); SmtpOutMsg *Msg = IO->Data; + switch (IO->NextState) { + case eSendDNSQuery: + case eReadDNSReply: + + /* todo: abort c-ares */ + case eConnect: + case eSendReply: + case eSendMore: + case eSendFile: + case eReadMessage: + case eReadMore: + case eReadPayload: + case eReadFile: + StopClientWatchers(IO, 1); + break; + case eDBQuery: + + break; + case eTerminateConnection: + case eAbort: + break; + } Msg->MyQEntry->Status = 3; StrBufPlain(Msg->MyQEntry->StatusMessage, HKEY("server shutdown during message submit."));