summaryrefslogtreecommitdiff
path: root/src/src/functions.h
diff options
context:
space:
mode:
authorJeremy Harris <jgh146exb@wizmail.org>2023-02-13 11:34:38 +0000
committerJeremy Harris <jgh146exb@wizmail.org>2023-02-13 11:34:38 +0000
commit1e835086d1592bdfbcd8577133965b78470840ac (patch)
treef59b796ea82b41bfa78a3ee620e877af9fd18b0c /src/src/functions.h
parent63deec8a3ba77fcabf405d9c30fdd65a8b909526 (diff)
downloadexim4-1e835086d1592bdfbcd8577133965b78470840ac.tar.gz
Named queues: support multiple queue-runners from single daemon
Diffstat (limited to 'src/src/functions.h')
-rw-r--r--src/src/functions.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/src/functions.h b/src/src/functions.h
index 961db2dc0..37f0a57bc 100644
--- a/src/src/functions.h
+++ b/src/src/functions.h
@@ -411,7 +411,7 @@ extern void queue_list(int, uschar **, int);
#ifndef DISABLE_QUEUE_RAMP
extern void queue_notify_daemon(const uschar * hostname);
#endif
-extern void queue_run(uschar *, uschar *, BOOL);
+extern void queue_run(qrunner *, uschar *, uschar *, BOOL);
extern int random_number(int);
extern const uschar *rc_to_string(int);
@@ -498,6 +498,7 @@ extern int sieve_interpret(const uschar *, int, const uschar *,
const uschar *, const uschar *, const uschar *,
address_item **, uschar **);
extern void sigalrm_handler(int);
+extern void single_queue_run(qrunner *, uschar *, uschar *);
extern int smtp_boundsock(smtp_connect_args *);
extern void smtp_closedown(uschar *);
extern void smtp_command_timeout_exit(void) NORETURN;
@@ -1368,6 +1369,22 @@ int res;
return !s || !*s || (res = Uatoi(s)) == 0 ? UNLIMITED_ADDRS : res;
}
+/******************************************************************************/
+/* Queue-runner operations */
+
+static inline BOOL
+is_onetime_qrun(void)
+{
+return qrunners && !qrunners->next && qrunners->interval == 0;
+}
+
+static inline BOOL
+is_multiple_qrun(void)
+{
+return qrunners && (qrunners->interval > 0 || qrunners->next);
+}
+
+
# endif /* !COMPILE_UTILITY */
/******************************************************************************/