From 774f3c7ffd430b294b0665ad594526ab284fb964 Mon Sep 17 00:00:00 2001 From: Stefan Sayer Date: Tue, 6 May 2008 09:31:24 +0000 Subject: [PATCH] requeuing messages that were in error git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@936 8eb893ce-cfd4-0310-b710-fb5ebe64c474 --- apps/voicemail/AmMail.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/apps/voicemail/AmMail.cpp b/apps/voicemail/AmMail.cpp index 4a395277..c040e07d 100644 --- a/apps/voicemail/AmMail.cpp +++ b/apps/voicemail/AmMail.cpp @@ -138,6 +138,7 @@ void AmMailDeamon::run() cur_mail->error_count++; } else { + // todo: save messages with errors somewhere? if(cur_mail->clean_up) (*(cur_mail->clean_up))(cur_mail); delete cur_mail; @@ -145,18 +146,21 @@ void AmMailDeamon::run() event_fifo_mut.lock(); } - event_fifo_mut.unlock(); smtp.disconnect(); smtp.close(); if(n_event_fifo.empty()){ _run_cond.set(false); - } - else { - while(!n_event_fifo.empty()) + } else { + // requeue unsent mail + while(!n_event_fifo.empty()) { + event_fifo.push(n_event_fifo.front()); n_event_fifo.pop(); + } } + event_fifo_mut.unlock(); + DBG("Mail deamon finished\n"); } }