diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2018-11-22 17:23:04 +0000 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2018-11-22 17:23:04 +0000 |
commit | 461412acdea1e54bad3ed15d770a8d9ba9e0974a (patch) | |
tree | 47cc830480edc6a3d91dd14169cba834e9ee8591 /src/lua/lua_redis.c | |
parent | c249c21fc159451eff0c088ebec00d00dbd3ebaa (diff) | |
download | rspamd-461412acdea1e54bad3ed15d770a8d9ba9e0974a.tar.gz rspamd-461412acdea1e54bad3ed15d770a8d9ba9e0974a.zip |
[Project] Add preliminary Redis Sentinel support
Diffstat (limited to 'src/lua/lua_redis.c')
-rw-r--r-- | src/lua/lua_redis.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/lua/lua_redis.c b/src/lua/lua_redis.c index 3a1445b61..4335a3467 100644 --- a/src/lua/lua_redis.c +++ b/src/lua/lua_redis.c @@ -511,7 +511,12 @@ lua_redis_cleanup_events (struct lua_redis_ctx *ctx) rspamd_symcache_item_async_dec_check (result->task, result->item, M); } - rspamd_session_remove_event (result->s, lua_redis_fin, result->sp_ud); + if (result->s) { + rspamd_session_remove_event (result->s, lua_redis_fin, result->sp_ud); + } + else { + lua_redis_fin (result->sp_ud); + } g_free (result); } @@ -1244,7 +1249,7 @@ lua_redis_make_request_sync (lua_State *L) * @param {task} task worker task object * @param {ip|string} host server address * @param {number} timeout timeout in seconds for request (1.0 by default) - * @return {redis} new connection object or nil if connection failed + * @return {boolean,redis} new connection object or nil if connection failed */ static int lua_redis_connect (lua_State *L) @@ -1275,11 +1280,12 @@ lua_redis_connect (lua_State *L) return 2; } + lua_pushboolean (L, TRUE); pctx = lua_newuserdata (L, sizeof (ctx)); *pctx = ctx; rspamd_lua_setclass (L, "rspamd{redis}", -1); - return 1; + return 2; } /*** @@ -1293,7 +1299,6 @@ static int lua_redis_connect_sync (lua_State *L) { LUA_TRACE_POINT; - rspamd_inet_addr_t *ip = NULL; gdouble timeout = REDIS_DEFAULT_TIMEOUT; struct lua_redis_ctx *ctx, **pctx; @@ -1315,13 +1320,8 @@ lua_redis_connect_sync (lua_State *L) pctx = lua_newuserdata (L, sizeof (ctx)); *pctx = ctx; rspamd_lua_setclass (L, "rspamd{redis}", -1); - } else { - if (ip) { - rspamd_inet_address_free (ip); - } - lua_pushboolean (L, FALSE); lua_pushstring (L, "bad arguments for redis request"); return 2; |