X-Git-Url: https://code.citadel.org/?p=citadel.git;a=blobdiff_plain;f=citadel%2Fmodules%2Fsmtp%2Fserv_smtpqueue.c;fp=citadel%2Fmodules%2Fsmtp%2Fserv_smtpqueue.c;h=c128fd49026fe728627dbe8d147b4fb4b3959bdb;hp=fb74ed2ad76d7afc6b31bb0a5e1c133701c79857;hb=79a538293acb62e5ecf5b09574d6bd5d58b03eca;hpb=523dacbf093a836e18649e6e40454e22276ef6e7 diff --git a/citadel/modules/smtp/serv_smtpqueue.c b/citadel/modules/smtp/serv_smtpqueue.c index fb74ed2ad..c128fd490 100644 --- a/citadel/modules/smtp/serv_smtpqueue.c +++ b/citadel/modules/smtp/serv_smtpqueue.c @@ -829,7 +829,7 @@ void smtp_do_procmsg(long msgnum, void *userdata) { StrBuf *Msg =NULL; if (mynumsessions > max_sessions_for_outbound_smtp) { - SMTPC_syslog(LOG_DEBUG, + SMTPC_syslog(LOG_INFO, "skipping because of num jobs %d > %d max_sessions_for_outbound_smtp", mynumsessions, max_sessions_for_outbound_smtp); @@ -940,13 +940,23 @@ void smtp_do_procmsg(long msgnum, void *userdata) { (((MyQItem->ActiveDeliveries * 2) < max_sessions_for_outbound_smtp))) { /* abort delivery for another time. */ - SMTPC_syslog(LOG_DEBUG, + SMTPC_syslog(LOG_INFO, "SMTP Queue: skipping because of num jobs %d + %ld > %d max_sessions_for_outbound_smtp", mynumsessions, MyQItem->ActiveDeliveries, max_sessions_for_outbound_smtp); - FreeQueItem(&MyQItem); + It = GetNewHashPos(MyQItem->MailQEntries, 0); + pthread_mutex_lock(&ActiveQItemsLock); + { + if (GetHashPosFromKey(ActiveQItems, + LKEY(MyQItem->MessageID), + It)) + { + DeleteEntryFromHash(ActiveQItems, It); + } + } + pthread_mutex_unlock(&ActiveQItemsLock); return; }