diff options
author | Vsevolod Stakhov <vsevolod@rambler-co.ru> | 2010-06-28 16:27:27 +0400 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@rambler-co.ru> | 2010-06-28 16:27:27 +0400 |
commit | d4944acc204d3cd9d03fe41f39afbd740ebc00c2 (patch) | |
tree | 93229fe321fa750ab10dadd7c0467bd32f4f09ff /src/smtp.c | |
parent | 88f24f93e91941bb063e2fdc315e12a8227aa48f (diff) | |
download | rspamd-d4944acc204d3cd9d03fe41f39afbd740ebc00c2.tar.gz rspamd-d4944acc204d3cd9d03fe41f39afbd740ebc00c2.zip |
* Make session before registering events
Diffstat (limited to 'src/smtp.c')
-rw-r--r-- | src/smtp.c | 14 |
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 |