Commit 57cb0598 authored by Poul-Henning Kamp's avatar Poul-Henning Kamp Committed by Lasse Karstensen

Another VCA shutdown race.

parent 13586c02
...@@ -405,6 +405,12 @@ vca_accept_task(struct worker *wrk, void *arg) ...@@ -405,6 +405,12 @@ vca_accept_task(struct worker *wrk, void *arg)
&wa.acceptaddrlen); &wa.acceptaddrlen);
} while (i < 0 && errno == EAGAIN); } while (i < 0 && errno == EAGAIN);
if (i < 0 && ls->sock == -2) {
/* Shut down in progress */
sleep(2);
continue;
}
if (i < 0) { if (i < 0) {
switch (errno) { switch (errno) {
case ECONNABORTED: case ECONNABORTED:
...@@ -416,7 +422,8 @@ vca_accept_task(struct worker *wrk, void *arg) ...@@ -416,7 +422,8 @@ vca_accept_task(struct worker *wrk, void *arg)
case EBADF: case EBADF:
VSL(SLT_Debug, ls->sock, "Accept failed: %s", VSL(SLT_Debug, ls->sock, "Accept failed: %s",
strerror(errno)); strerror(errno));
return; vca_pace_bad();
break;
default: default:
VSL(SLT_Debug, ls->sock, "Accept failed: %s", VSL(SLT_Debug, ls->sock, "Accept failed: %s",
strerror(errno)); strerror(errno));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment