]> source.dussan.org Git - rspamd.git/commitdiff
Fix a problem with listening on sockets.
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 23 Jul 2013 14:17:31 +0000 (15:17 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 23 Jul 2013 14:17:31 +0000 (15:17 +0100)
Add stat_reset command to rspamc while I'm here.

src/client/rspamc.c
src/util.c

index 1819d7e9c9ed96203618df8219c33baf81eaeb45..9279682e49339c54e3ebe5620fd7048bc9ce026b 100644 (file)
@@ -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;
index 4936b37dcd2ed4b550ead655ccc8edcbb39543c0..ce95e6c9ee9ae415f20e0403ac9084d75095391f 100644 (file)
@@ -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);