]> err.no Git - varnish/commitdiff
More SHM creation polishing
authorphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Fri, 14 Jul 2006 12:05:28 +0000 (12:05 +0000)
committerphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Fri, 14 Jul 2006 12:05:28 +0000 (12:05 +0000)
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@472 d4fa192b-c00b-0410-8231-f00ffab90ce4

varnish-cache/bin/varnishd/shmlog.c
varnish-cache/include/shmlog.h

index 6db6331770031b96e1599c907aa01da9343f8bae..c42fdd39540f4efd1a2db8e2191051aa747e907a 100644 (file)
@@ -129,6 +129,8 @@ VSL_Init(void)
            heritage.vsl_fd, 0);
        assert(loghead != MAP_FAILED);
 
+       assert(loghead->magic == SHMLOGHEAD_MAGIC);
+       assert(loghead->hdrsize == sizeof *loghead);
        /* XXX check sanity of loghead */
        logstart = (unsigned char *)loghead + loghead->start;
        AZ(pthread_mutex_init(&vsl_mutex, NULL));
@@ -151,8 +153,10 @@ VSL_MgtInit(const char *fn, unsigned size)
            slh.hdrsize != sizeof slh) {
                /* XXX more checks */
 
-               if (heritage.vsl_fd >= 0);
+               fprintf(stderr, "Creating new SHMFILE\n");
+               if (heritage.vsl_fd >= 0); {
                        close(heritage.vsl_fd);
+               }
                unlink(fn);
                heritage.vsl_fd = open(fn, O_RDWR | O_CREAT, 0644);
                if (heritage.vsl_fd < 0) {
@@ -160,8 +164,8 @@ VSL_MgtInit(const char *fn, unsigned size)
                            fn, strerror(errno));
                        exit (1);
                }
-               memset(&slh, 0, sizeof slh);
 
+               memset(&slh, 0, sizeof slh);
                slh.magic = SHMLOGHEAD_MAGIC;
                slh.hdrsize = sizeof slh;
                slh.size = size;
index 2e61101b04100ca096305e3bcc678ad55b026e59..4add0e14eb1367ca94fcf8a0d3c901e35c7ed9b6 100644 (file)
@@ -15,6 +15,8 @@ struct shmloghead {
 #define SHMLOGHEAD_MAGIC       4185512498U     /* From /dev/random */
        unsigned                magic;
 
+       unsigned                hdrsize;
+
        /*
         * Byte offset into the file where the fifolog starts
         * This allows the header to expand later.