summaryrefslogtreecommitdiffstats
path: root/src/smtp.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@rambler-co.ru>2010-06-28 16:27:27 +0400
committerVsevolod Stakhov <vsevolod@rambler-co.ru>2010-06-28 16:27:27 +0400
commitd4944acc204d3cd9d03fe41f39afbd740ebc00c2 (patch)
tree93229fe321fa750ab10dadd7c0467bd32f4f09ff /src/smtp.c
parent88f24f93e91941bb063e2fdc315e12a8227aa48f (diff)
downloadrspamd-d4944acc204d3cd9d03fe41f39afbd740ebc00c2.tar.gz
rspamd-d4944acc204d3cd9d03fe41f39afbd740ebc00c2.zip
* Make session before registering events
Diffstat (limited to 'src/smtp.c')
-rw-r--r--src/smtp.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/smtp.c b/src/smtp.c
index 0d3f4c63b..fd22f4080 100644
--- a/src/smtp.c
+++ b/src/smtp.c
@@ -794,16 +794,14 @@ accept_socket (int fd, short what, void *arg)
return;
}
else {
+ /* Set up async session */
+ session->s = new_async_session (session->pool, free_smtp_session, session);
register_async_event (session->s, (event_finalizer_t)smtp_dns_cb, NULL, TRUE);
+ /* Set up dispatcher */
+ session->dispatcher = rspamd_create_dispatcher (nfd, BUFFER_LINE,
+ smtp_read_socket, smtp_write_socket, smtp_err_socket, &session->ctx->smtp_timeout, session);
+ session->dispatcher->peer_addr = session->client_addr.s_addr;
}
-
- /* Set up dispatcher */
- session->dispatcher = rspamd_create_dispatcher (nfd, BUFFER_LINE,
- smtp_read_socket, smtp_write_socket, smtp_err_socket, &session->ctx->smtp_timeout, session);
- session->dispatcher->peer_addr = session->client_addr.s_addr;
- /* Set up async session */
- session->s = new_async_session (session->pool, free_smtp_session, session);
-
}
static void