erlang plugin: Don't exit if "erl_accept" indicates an error.
authorFlorian Forster <octo@leeloo.lan.home.verplant.org>
Sat, 14 Nov 2009 09:15:03 +0000 (10:15 +0100)
committerFlorian Forster <octo@leeloo.lan.home.verplant.org>
Sat, 14 Nov 2009 09:15:03 +0000 (10:15 +0100)
This happens for example when a client uses an incorrect cookie.

src/erlang.c

index 65d8f9e..93b2441 100644 (file)
@@ -911,9 +911,10 @@ void *listen_thread (void *arg) /* {{{ */
                fd = erl_accept (listen, &conn);
                if (fd < 0)
                {
-                       ERROR ("erlang plugin: erl_accept failed with status %i.", fd);
-                       close (listen);
-                       exit (EXIT_FAILURE);
+                       char errbuf[1024];
+                       ERROR ("erlang plugin: erl_accept failed: %s",
+                                       sstrerror (erl_errno, errbuf, sizeof (errbuf)));
+                       continue;
                }
                DEBUG ("erlang plugin: Got connection from %s on fd %i.",
                                conn.nodename, fd);