diff options
Diffstat (limited to 'usr.sbin/smtpd/queue.c')
| -rw-r--r-- | usr.sbin/smtpd/queue.c | 11 |
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; |
