[3.0] bc6aded Don't look at a static version of the VSM during startup.

Tollef Fog Heen tfheen at varnish-cache.org
Tue Aug 30 10:31:38 CEST 2011


commit bc6aded46ffba78415405c5fddb23bdf56f23ddb
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date:   Tue Aug 30 07:21:35 2011 +0000

    Don't look at a static version of the VSM during startup.
    
    Fixes		#995
    Patch by	DocWilco

diff --git a/lib/libvarnishapi/vsm.c b/lib/libvarnishapi/vsm.c
index 8e02400..79cf5e5 100644
--- a/lib/libvarnishapi/vsm.c
+++ b/lib/libvarnishapi/vsm.c
@@ -192,18 +192,19 @@ vsm_open(struct VSM_data *vd, int diag)
 	}
 	vd->vsm_end = (uint8_t *)vd->VSM_head + slh.shm_size;
 
-	for (j = 0; j < 20 && slh.alloc_seq == 0; j++)
+	for (j = 0; j < 20 && vd->VSM_head->alloc_seq == 0; j++)
 		(void)usleep(50000);
-	if (slh.alloc_seq == 0) {
+	if (vd->VSM_head->alloc_seq == 0) {
 		if (diag)
 			vd->diag(vd->priv, "File not initialized %s\n",
 			    vd->fname);
 		assert(0 == munmap((void*)vd->VSM_head, slh.shm_size));
 		AZ(close(vd->vsm_fd));
 		vd->vsm_fd = -1;
+		vd->VSM_head = NULL;
 		return (1);
 	}
-	vd->alloc_seq = slh.alloc_seq;
+	vd->alloc_seq = vd->VSM_head->alloc_seq;
 
 	if (vd->vsl != NULL)
 		VSL_Open_CallBack(vd);



More information about the varnish-commit mailing list