summaryrefslogtreecommitdiffstats
path: root/usr.sbin/smtpd/queue.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/smtpd/queue.c')
-rw-r--r--usr.sbin/smtpd/queue.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/usr.sbin/smtpd/queue.c b/usr.sbin/smtpd/queue.c
index 4e26fe600c3..889ce104e48 100644
--- a/usr.sbin/smtpd/queue.c
+++ b/usr.sbin/smtpd/queue.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: queue.c,v 1.163 2014/07/08 15:45:32 eric Exp $ */
+/* $OpenBSD: queue.c,v 1.164 2014/07/10 14:45:02 eric Exp $ */
/*
* Copyright (c) 2008 Gilles Chehade <gilles@poolp.org>
@@ -197,9 +197,14 @@ queue_imsg(struct mproc *p, struct imsg *imsg)
m_get_evpid(&m, &evpid);
m_end(&m);
+ m_create(p_scheduler, IMSG_QUEUE_ENVELOPE_ACK, 0, 0, -1);
+ m_add_evpid(p_scheduler, evpid);
+ m_close(p_scheduler);
+
/* already removed by scheduler */
if (queue_envelope_load(evpid, &evp) == 0)
return;
+
queue_log(&evp, "Remove", "Removed by administrator");
queue_envelope_delete(evpid);
return;
@@ -209,6 +214,10 @@ queue_imsg(struct mproc *p, struct imsg *imsg)
m_get_evpid(&m, &evpid);
m_end(&m);
+ m_create(p_scheduler, IMSG_QUEUE_ENVELOPE_ACK, 0, 0, -1);
+ m_add_evpid(p_scheduler, evpid);
+ m_close(p_scheduler);
+
/* already removed by scheduler*/
if (queue_envelope_load(evpid, &evp) == 0)
return;