r2017 - trunk/varnish-cache/bin/varnishd
phk at projects.linpro.no
phk at projects.linpro.no
Tue Sep 25 08:56:23 CEST 2007
Author: phk
Date: 2007-09-25 08:56:23 +0200 (Tue, 25 Sep 2007)
New Revision: 2017
Modified:
trunk/varnish-cache/bin/varnishd/cache.h
trunk/varnish-cache/bin/varnishd/shmlog.c
Log:
Polish shmlog:
The id argument is a file descriptor, so it should be typed "int".
We must have a fmt argument.
Use pdiff.
Modified: trunk/varnish-cache/bin/varnishd/cache.h
===================================================================
--- trunk/varnish-cache/bin/varnishd/cache.h 2007-09-25 06:51:04 UTC (rev 2016)
+++ trunk/varnish-cache/bin/varnishd/cache.h 2007-09-25 06:56:23 UTC (rev 2017)
@@ -508,10 +508,10 @@
void VSL_Init(void);
#ifdef SHMLOGHEAD_MAGIC
-void VSLR(enum shmlogtag tag, unsigned id, const char *b, const char *e);
-void VSL(enum shmlogtag tag, unsigned id, const char *fmt, ...);
-void WSLR(struct worker *w, enum shmlogtag tag, unsigned id, const char *b, const char *e);
-void WSL(struct worker *w, enum shmlogtag tag, unsigned id, const char *fmt, ...);
+void VSLR(enum shmlogtag tag, int id, const char *b, const char *e);
+void VSL(enum shmlogtag tag, int id, const char *fmt, ...);
+void WSLR(struct worker *w, enum shmlogtag tag, int id, const char *b, const char *e);
+void WSL(struct worker *w, enum shmlogtag tag, int id, const char *fmt, ...);
void WSL_Flush(struct worker *w);
#define INCOMPL() do { \
VSL(SLT_Debug, 0, "INCOMPLETE AT: %s(%d)", __func__, __LINE__); \
Modified: trunk/varnish-cache/bin/varnishd/shmlog.c
===================================================================
--- trunk/varnish-cache/bin/varnishd/shmlog.c 2007-09-25 06:51:04 UTC (rev 2016)
+++ trunk/varnish-cache/bin/varnishd/shmlog.c 2007-09-25 06:56:23 UTC (rev 2017)
@@ -83,7 +83,7 @@
/*--------------------------------------------------------------------*/
void
-VSLR(enum shmlogtag tag, unsigned id, const char *b, const char *e)
+VSLR(enum shmlogtag tag, int id, const char *b, const char *e)
{
unsigned char *p;
unsigned l;
@@ -93,7 +93,7 @@
e = strchr(b, '\0');
/* Truncate */
- l = e - b;
+ l = pdiff(b, e);
if (l > 255) {
l = 255;
e = b + l;
@@ -126,12 +126,13 @@
/*--------------------------------------------------------------------*/
void
-VSL(enum shmlogtag tag, unsigned id, const char *fmt, ...)
+VSL(enum shmlogtag tag, int id, const char *fmt, ...)
{
va_list ap;
unsigned char *p;
unsigned n;
+ AN(fmt);
va_start(ap, fmt);
if (strchr(fmt, '%') == NULL) {
@@ -150,11 +151,9 @@
p = logstart + loghead->ptr;
n = 0;
- if (fmt != NULL) {
- n = vsnprintf((char *)(p + 4), 256, fmt, ap);
- if (n > 255)
- n = 255; /* we truncate long fields */
- }
+ n = vsnprintf((char *)(p + 4), 256, fmt, ap);
+ if (n > 255)
+ n = 255; /* we truncate long fields */
p[1] = n & 0xff;
p[2] = (id >> 8) & 0xff;
p[3] = id & 0xff;
@@ -181,7 +180,7 @@
if (w->wlp == w->wlog)
return;
- l = w->wlp - w->wlog;
+ l = pdiff(w->wlog, w->wlp);
LOCKSHM(&vsl_mtx);
VSL_stats->shm_writes++;
VSL_stats->shm_records += w->wlr;
@@ -201,7 +200,7 @@
/*--------------------------------------------------------------------*/
void
-WSLR(struct worker *w, enum shmlogtag tag, unsigned id, const char *b, const char *e)
+WSLR(struct worker *w, enum shmlogtag tag, int id, const char *b, const char *e)
{
unsigned char *p;
unsigned l;
@@ -211,7 +210,7 @@
e = strchr(b, '\0');
/* Truncate */
- l = e - b;
+ l = pdiff(b, e);
if (l > 255) {
l = 255;
e = b + l;
@@ -239,12 +238,13 @@
/*--------------------------------------------------------------------*/
void
-WSL(struct worker *w, enum shmlogtag tag, unsigned id, const char *fmt, ...)
+WSL(struct worker *w, enum shmlogtag tag, int id, const char *fmt, ...)
{
va_list ap;
unsigned char *p;
unsigned n;
+ AN(fmt);
va_start(ap, fmt);
if (strchr(fmt, '%') == NULL) {
@@ -260,11 +260,9 @@
p = w->wlp;
n = 0;
- if (fmt != NULL) {
- n = vsnprintf((char *)(p + 4), 256, fmt, ap);
- if (n > 255)
- n = 255; /* we truncate long fields */
- }
+ n = vsnprintf((char *)(p + 4), 256, fmt, ap);
+ if (n > 255)
+ n = 255; /* we truncate long fields */
p[1] = n & 0xff;
p[2] = (id >> 8) & 0xff;
p[3] = id & 0xff;
More information about the varnish-commit
mailing list