diff options
-rw-r--r-- | src/libserver/events.c | 9 | ||||
-rw-r--r-- | src/libserver/events.h | 7 | ||||
-rw-r--r-- | src/lua/lua_tcp.c | 13 |
3 files changed, 28 insertions, 1 deletions
diff --git a/src/libserver/events.c b/src/libserver/events.c index ac9b0ccf2..d609bcbb7 100644 --- a/src/libserver/events.c +++ b/src/libserver/events.c @@ -455,3 +455,12 @@ rspamd_session_get_watcher (struct rspamd_async_session *session) return NULL; } } + + +rspamd_mempool_t * +rspamd_session_mempool (struct rspamd_async_session *session) +{ + g_assert (session != NULL); + + return session->pool; +}
\ No newline at end of file diff --git a/src/libserver/events.h b/src/libserver/events.h index a0f99c0a5..760bb000c 100644 --- a/src/libserver/events.h +++ b/src/libserver/events.h @@ -73,6 +73,13 @@ gboolean rspamd_session_destroy (struct rspamd_async_session *session); void rspamd_session_cleanup (struct rspamd_async_session *session); /** + * Returns mempool associated with async session + * @param session + * @return + */ +rspamd_mempool_t * rspamd_session_mempool (struct rspamd_async_session *session); + +/** * Check session for events pending and call fin callback if no events are pending * @param session session object * @return TRUE if session has pending events diff --git a/src/lua/lua_tcp.c b/src/lua/lua_tcp.c index f263d5393..884bbc2ae 100644 --- a/src/lua/lua_tcp.c +++ b/src/lua/lua_tcp.c @@ -826,7 +826,18 @@ lua_tcp_make_connection (struct lua_tcp_cbdata *cbd) fd = rspamd_inet_address_connect (cbd->addr, SOCK_STREAM, TRUE); if (fd == -1) { - msg_info ("cannot connect to %s", rspamd_inet_address_to_string (cbd->addr)); + if (cbd->session) { + rspamd_mempool_t *pool = rspamd_session_mempool (cbd->session); + msg_info_pool ("cannot connect to %s: %s", + rspamd_inet_address_to_string (cbd->addr), + strerror (errno)); + } + else { + msg_info ("cannot connect to %s: %s", + rspamd_inet_address_to_string (cbd->addr), + strerror (errno)); + } + return FALSE; } |