From 2c8ed95980462b03fb3ca0ae7721357952d7361b Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Tue, 23 Jul 2013 15:17:31 +0100 Subject: [PATCH] Fix a problem with listening on sockets. Add stat_reset command to rspamc while I'm here. --- src/client/rspamc.c | 7 +++++++ src/util.c | 3 +++ 2 files changed, 10 insertions(+) diff --git a/src/client/rspamc.c b/src/client/rspamc.c index 1819d7e9c9..9279682e49 100644 --- a/src/client/rspamc.c +++ b/src/client/rspamc.c @@ -75,6 +75,7 @@ enum rspamc_command { RSPAMC_COMMAND_FUZZY_ADD, RSPAMC_COMMAND_FUZZY_DEL, RSPAMC_COMMAND_STAT, + RSPAMC_COMMAND_STAT_RESET, RSPAMC_COMMAND_COUNTERS, RSPAMC_COMMAND_UPTIME, RSPAMC_COMMAND_ADD_SYMBOL, @@ -131,6 +132,9 @@ check_rspamc_command (const gchar *cmd) else if (g_ascii_strcasecmp (cmd, "STAT") == 0) { return RSPAMC_COMMAND_STAT; } + else if (g_ascii_strcasecmp (cmd, "STAT_RESET") == 0) { + return RSPAMC_COMMAND_STAT_RESET; + } else if (g_ascii_strcasecmp (cmd, "COUNTERS") == 0) { return RSPAMC_COMMAND_COUNTERS; } @@ -849,6 +853,9 @@ main (gint argc, gchar **argv, gchar **env) case RSPAMC_COMMAND_STAT: rspamc_do_controller_simple_command ("stat", NULL); break; + case RSPAMC_COMMAND_STAT_RESET: + rspamc_do_controller_simple_command ("stat_reset", NULL); + break; case RSPAMC_COMMAND_COUNTERS: show_rspamd_counters (); break; diff --git a/src/util.c b/src/util.c index 4936b37dcd..ce95e6c9ee 100644 --- a/src/util.c +++ b/src/util.c @@ -152,6 +152,8 @@ make_inet_socket (gint type, struct addrinfo *addr, gboolean is_server, gboolean } else if (fd != -1) { *list = g_list_prepend (*list, GINT_TO_POINTER (fd)); + cur = cur->ai_next; + continue; } out: if (fd != -1) { @@ -470,6 +472,7 @@ err: if (fd != -1) { close (fd); } + rcur = g_list_next (rcur); } if (result != NULL) { g_list_free (result); -- 2.47.3