commit - 585e2e89a9d00df6ffe9a704f3de0f003b2b8b66
commit + c6714f66eaf3c9de88af2ecbc1203dd40e179694
blob - 6b067f72aa3eba6453a448f0270bbad62994122e
blob + 43ba16459fc95b747f77424a8a39393de727e99a
--- smtp_proc.c
+++ smtp_proc.c
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 *);
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);
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 &&