Postfix3.3.1
mail_flush.c
[詳解]
1 /*++
2 /* NAME
3 /* mail_flush 3
4 /* SUMMARY
5 /* flush backed up mail
6 /* SYNOPSIS
7 /* #include <mail_flush.h>
8 /*
9 /* int mail_flush_deferred()
10 /*
11 /* int mail_flush_maildrop()
12 /* DESCRIPTION
13 /* This module triggers delivery of backed up mail.
14 /*
15 /* mail_flush_deferred() triggers delivery of all deferred
16 /* or incoming mail. This function tickles the queue manager.
17 /*
18 /* mail_flush_maildrop() triggers delivery of all mail in
19 /* the maildrop directory. This function tickles the pickup
20 /* service.
21 /* DIAGNOSTICS
22 /* The result is 0 in case of success, -1 in case of failure.
23 /* FILES
24 /* $queue_directory/public/pickup, server endpoint
25 /* $queue_directory/public/qmgr, server endpoint
26 /* SEE ALSO
27 /* mail_trigger(3), see note about event_drain() usage
28 /* LICENSE
29 /* .ad
30 /* .fi
31 /* The Secure Mailer license must be distributed with this software.
32 /* AUTHOR(S)
33 /* Wietse Venema
34 /* IBM T.J. Watson Research
35 /* P.O. Box 704
36 /* Yorktown Heights, NY 10598, USA
37 /*--*/
38 
39 /* System library. */
40 
41 #include "sys_defs.h"
42 
43 /* Utility library. */
44 
45 /* Global library. */
46 
47 #include <mail_params.h>
48 #include <mail_proto.h>
49 #include <mail_flush.h>
50 
51 /* mail_flush_deferred - flush deferred/incoming queue */
52 
54 {
55  static char qmgr_trigger[] = {
56  QMGR_REQ_FLUSH_DEAD, /* all hosts, all transports */
57  QMGR_REQ_SCAN_ALL, /* all time stamps */
58  QMGR_REQ_SCAN_DEFERRED, /* scan deferred queue */
59  QMGR_REQ_SCAN_INCOMING, /* scan incoming queue */
60  };
61 
62  /*
63  * Trigger the flush queue service.
64  */
66  qmgr_trigger, sizeof(qmgr_trigger)));
67 }
68 
69 /* mail_flush_maildrop - flush maildrop queue */
70 
72 {
73  static char wakeup[] = {TRIGGER_REQ_WAKEUP};
74 
75  /*
76  * Trigger the pickup service.
77  */
79  wakeup, sizeof(wakeup)));
80 }
#define QMGR_REQ_SCAN_DEFERRED
Definition: mail_proto.h:106
int mail_trigger(const char *, const char *, const char *, ssize_t)
Definition: mail_trigger.c:72
#define MAIL_CLASS_PUBLIC
Definition: mail_proto.h:95
int mail_flush_deferred(void)
Definition: mail_flush.c:53
int mail_flush_maildrop(void)
Definition: mail_flush.c:71
char * var_pickup_service
Definition: mail_params.c:304
#define QMGR_REQ_SCAN_INCOMING
Definition: mail_proto.h:107
#define TRIGGER_REQ_WAKEUP
Definition: mail_proto.h:101
char * var_queue_service
Definition: mail_params.c:305
#define QMGR_REQ_SCAN_ALL
Definition: mail_proto.h:109
#define QMGR_REQ_FLUSH_DEAD
Definition: mail_proto.h:108