diff options
Diffstat (limited to 'lib/MailServer.cc')
-rw-r--r-- | lib/MailServer.cc | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/lib/MailServer.cc b/lib/MailServer.cc index 56446de..0f5194c 100644 --- a/lib/MailServer.cc +++ b/lib/MailServer.cc @@ -158,7 +158,8 @@ int ProcessSMTPRequest::Do() { } } - MailHandler::ProcessMail(out, from, tos); + /***TODO*** Wait for the task and destroy it. */ + Task * r = MailHandler::ProcessMail(out, from, tos); delete out; @@ -193,14 +194,15 @@ MailHandler::~MailHandler() { head = next; } -bool MailHandler::ProcessMail(Handle * in, const String & from, std::vector<String> tos) { +Task * MailHandler::ProcessMail(Handle * in, const String & from, std::vector<String> tos) { MailHandler * cur; + Task * r; for (cur = head; cur; cur = cur->next) { - if (cur->ProcessMail(in, from, tos)) - return true; + if (( r = cur->ProcessMail(in, from, tos))) + return r; } - return false; + return 0; } void MailHandler::OnTop() { |