Reduce delivery process startup time
[exim.git] / src / src / daemon.c
index 21ce2f03e89102cd0628fe56e9710c89de2ca80c..3fc73babeafcb96070dd9ed544a02233d7727888 100644 (file)
@@ -1740,10 +1740,27 @@ else
 (eg: compile regex) */
 
 dns_pattern_init();
+smtp_deliver_init();   /* Used for callouts */
+
+#ifndef DISABLE_DKIM
+  {
+# ifdef MEASURE_TIMING
+  struct timeval t0;
+  gettimeofday(&t0, NULL);
+# endif
+  dkim_exim_init();
+# ifdef MEASURE_TIMING
+  report_time_since(&t0, US"dkim_exim_init (delta)");
+# endif
+  }
+#endif
 
 #ifdef WITH_CONTENT_SCAN
 malware_init();
 #endif
+#ifdef SUPPORT_SPF
+spf_init();
+#endif
 
 /* Close the log so it can be renamed and moved. In the few cases below where
 this long-running process writes to the log (always exceptional conditions), it
@@ -1757,6 +1774,10 @@ DEBUG(D_any) debug_print_ids(US"daemon running with");
 
 smtp_input = TRUE;
 
+#ifdef MEASURE_TIMING
+report_time_since(&timestamp_startup, US"daemon loop start");  /* testcase 0022 */
+#endif
+
 /* Enter the never-ending loop... */
 
 for (;;)