summaryrefslogtreecommitdiff
path: root/lib/MailServer.cc
diff options
context:
space:
mode:
Diffstat (limited to 'lib/MailServer.cc')
-rw-r--r--lib/MailServer.cc12
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() {