aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libserver/events.c9
-rw-r--r--src/libserver/events.h7
-rw-r--r--src/lua/lua_tcp.c13
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;
}