[master] ee5b6458f VRT_new_backend_clustered: swap success and error handling
Nils Goroll
nils.goroll at uplex.de
Thu Jun 28 14:24:08 UTC 2018
commit ee5b6458f04d977e9489f5142c0f36a78d0e2e63
Author: Nils Goroll <nils.goroll at uplex.de>
Date: Thu Jun 28 16:16:53 2018 +0200
VRT_new_backend_clustered: swap success and error handling
... to make the next commit more readable
diff --git a/bin/varnishd/cache/cache_backend.c b/bin/varnishd/cache/cache_backend.c
index f50928cb2..c56081332 100644
--- a/bin/varnishd/cache/cache_backend.c
+++ b/bin/varnishd/cache/cache_backend.c
@@ -527,33 +527,32 @@ VRT_new_backend_clustered(VRT_CTX, struct vsmw_cluster *vc,
be->director = VRT_AddDirector(ctx, vbe_methods, be,
"%s", vrt->vcl_name);
- if (be->director == NULL) {
- VSC_vbe_Destroy(&be->vsc_seg);
+ if (be->director != NULL) {
+ vbp = vrt->probe;
+ if (vbp == NULL)
+ vbp = VCL_DefaultProbe(vcl);
+
+ Lck_Lock(&backends_mtx);
+ VTAILQ_INSERT_TAIL(&backends, be, list);
+ VSC_C_main->n_backend++;
+ be->tcp_pool = VTP_Ref(vrt->ipv4_suckaddr, vrt->ipv6_suckaddr,
+ vrt->path, vbe_proto_ident);
+ Lck_Unlock(&backends_mtx);
+
+ if (vbp != NULL)
+ VBP_Insert(be, vbp, be->tcp_pool);
+
+ return (be->director);
+ }
+ VSC_vbe_Destroy(&be->vsc_seg);
#define DA(x) do { if (be->x != NULL) free(be->x); } while (0)
#define DN(x) /**/
VRT_BACKEND_HANDLE();
#undef DA
#undef DN
- Lck_Delete(&be->mtx);
- FREE_OBJ(be);
- return (NULL);
- }
-
- vbp = vrt->probe;
- if (vbp == NULL)
- vbp = VCL_DefaultProbe(vcl);
-
- Lck_Lock(&backends_mtx);
- VTAILQ_INSERT_TAIL(&backends, be, list);
- VSC_C_main->n_backend++;
- be->tcp_pool = VTP_Ref(vrt->ipv4_suckaddr, vrt->ipv6_suckaddr,
- vrt->path, vbe_proto_ident);
- Lck_Unlock(&backends_mtx);
-
- if (vbp != NULL)
- VBP_Insert(be, vbp, be->tcp_pool);
-
- return (be->director);
+ Lck_Delete(&be->mtx);
+ FREE_OBJ(be);
+ return (NULL);
}
VCL_BACKEND v_matchproto_()
More information about the varnish-commit
mailing list