From ca25d03bb605b607d75705c97b6545178d750ebe Mon Sep 17 00:00:00 2001 From: phk Date: Mon, 18 Sep 2006 07:16:03 +0000 Subject: [PATCH] Add a simple linear retry in five steps for backend connection. git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1060 d4fa192b-c00b-0410-8231-f00ffab90ce4 --- varnish-cache/bin/varnishd/cache_backend.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/varnish-cache/bin/varnishd/cache_backend.c b/varnish-cache/bin/varnishd/cache_backend.c index 7ec02e59..68047b59 100644 --- a/varnish-cache/bin/varnishd/cache_backend.c +++ b/varnish-cache/bin/varnishd/cache_backend.c @@ -260,12 +260,16 @@ struct vbe_conn * VBE_GetFd(struct sess *sp) { struct vbe_conn *vc; + unsigned n; - vc = vbe_nextfd(sp); - if (vc != NULL) { - WSL(sp->wrk, SLT_Backend, sp->fd, "%d %s", vc->fd, - sp->backend->vcl_name); - return (vc); + for (n = 1; n < 5; n++) { + vc = vbe_nextfd(sp); + if (vc != NULL) { + WSL(sp->wrk, SLT_Backend, sp->fd, "%d %s", vc->fd, + sp->backend->vcl_name); + return (vc); + } + usleep(100000 * n); } RES_Error(sp, 503, "Backend did not respond."); return (NULL); -- 2.39.5