]> source.dussan.org Git - rspamd.git/commitdiff
Make socket errors non fatal.
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 2 May 2014 13:53:07 +0000 (14:53 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 2 May 2014 13:53:07 +0000 (14:53 +0100)
If it is impossible to create all sockets from a list of addrinfo treat
it as success if any of sockets have been created.

interface
src/libutil/util.c

index 6828f4735bb998f20b00e1b8d144aec5c102d947..bb9d7a1072f76ec0ac3b7b9547b20040f39763a9 160000 (submodule)
--- a/interface
+++ b/interface
@@ -1 +1 @@
-Subproject commit 6828f4735bb998f20b00e1b8d144aec5c102d947
+Subproject commit bb9d7a1072f76ec0ac3b7b9547b20040f39763a9
index ec63cabb97581e22598c4a694513c0efa67a649b..8d1a6353ded92b6fac09cafd861e83bdb95de4a6 100644 (file)
@@ -97,7 +97,8 @@ poll_sync_socket (gint fd, gint timeout, short events)
 }
 
 static gint
-make_inet_socket (gint type, struct addrinfo *addr, gboolean is_server, gboolean async, GList **list)
+make_inet_socket (gint type, struct addrinfo *addr, gboolean is_server,
+               gboolean async, GList **list)
 {
        gint                            fd, r, optlen, on = 1, s_error;
        struct addrinfo               *cur;
@@ -434,7 +435,7 @@ make_universal_sockets_list (const gchar *credits, guint16 port,
                        if ((r = getaddrinfo (credits, portbuf, &hints, &res)) == 0) {
                                r = make_inet_socket (type, res, is_server, async, &result);
                                freeaddrinfo (res);
-                               if (r == -1) {
+                               if (result == NULL) {
                                        goto err;
                                }
                        }