commit c6714f66eaf3c9de88af2ecbc1203dd40e179694 from: Martijn van Duren date: Mon Apr 1 16:15:54 2019 UTC Initialize event_init so we can use it during smtp_register* commit - 585e2e89a9d00df6ffe9a704f3de0f003b2b8b66 commit + c6714f66eaf3c9de88af2ecbc1203dd40e179694 blob - 6b067f72aa3eba6453a448f0270bbad62994122e blob + 43ba16459fc95b747f77424a8a39393de727e99a --- smtp_proc.c +++ smtp_proc.c @@ -36,6 +36,8 @@ struct smtp_callback; struct smtp_request; +extern struct event_base *current_base; + static int smtp_register(char *, char *, char *, void *); static ssize_t smtp_getline(char ** restrict, size_t * restrict); static void smtp_newline(int, short, void *); @@ -116,7 +118,6 @@ smtp_run(int debug) ready = 1; log_init(debug, LOG_MAIL); - event_init(); event_set(&stdinev, STDIN_FILENO, EV_READ | EV_PERSIST, smtp_newline, &stdinev); event_add(&stdinev, NULL); @@ -444,10 +445,14 @@ static int smtp_register(char *type, char *phase, char *direction, void *cb) { int i; + static int evinit = 0; if (ready) fatalx("Can't register when proc is running"); + if (!evinit) + event_init(); + for (i = 0; i < NITEMS(smtp_callbacks); i++) { if (strcmp(type, smtp_callbacks[i].type) == 0 && strcmp(phase, smtp_callbacks[i].phase) == 0 &&