]> source.dussan.org Git - rspamd.git/commitdiff
LISTEN_FDS specifies number of passed sockets, not the first available fd
authorMikhail Gusarov <dottedmag@dottedmag.net>
Fri, 28 Mar 2014 16:28:16 +0000 (17:28 +0100)
committerMikhail Gusarov <dottedmag@dottedmag.net>
Fri, 28 Mar 2014 16:28:37 +0000 (17:28 +0100)
src/main.c

index ba091a7f05cc155da94d88a010477090df085eee..364e2095026a1283ec85ee424ce24567adc9df17 100644 (file)
@@ -564,7 +564,7 @@ systemd_get_socket (gint number, gint listen_type)
        if (e != NULL) {
                errno = 0;
                max = strtoul (e, &err, 10);
-               if ((e == NULL || *e == '\0') && max > number + sd_listen_fds_start) {
+               if ((e == NULL || *e == '\0') && max > number) {
                        sock = number + sd_listen_fds_start;
                        if (fstat (sock, &st) == -1) {
                                return NULL;
@@ -584,7 +584,7 @@ systemd_get_socket (gint number, gint listen_type)
                        }
                        result = g_list_prepend (result, GINT_TO_POINTER (sock));
                }
-               else if (max <= number + sd_listen_fds_start) {
+               else if (max <= number) {
                        errno = EOVERFLOW;
                }
        }