Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
U
unique-xids
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
uplex-varnish
unique-xids
Commits
8838884f
Commit
8838884f
authored
Mar 12, 2011
by
Poul-Henning Kamp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Make the VSM_ITER macro available to all vsm users.
parent
ad658500
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
36 additions
and
34 deletions
+36
-34
cache_shmlog.c
bin/varnishd/cache_shmlog.c
+1
-1
common.h
bin/varnishd/common.h
+0
-6
mgt_shmem.c
bin/varnishd/mgt_shmem.c
+1
-1
vsm.c
bin/varnishd/vsm.c
+1
-26
vsm.h
include/vsm.h
+33
-0
No files found.
bin/varnishd/cache_shmlog.c
View file @
8838884f
...
...
@@ -36,9 +36,9 @@ SVNID("$Id$")
#include <unistd.h>
#include <stdarg.h>
#include "vsm.h"
#include "cache.h"
#include "vmb.h"
#include "vsm.h"
static
pthread_mutex_t
vsl_mtx
;
...
...
bin/varnishd/common.h
View file @
8838884f
...
...
@@ -78,12 +78,6 @@ void *VSM_Alloc(unsigned size, const char *class, const char *type,
void
VSM_Free
(
const
void
*
ptr
);
void
VSM_Clean
(
void
);
struct
vsm_chunk
*
vsm_iter_0
(
void
);
void
vsm_iter_n
(
struct
vsm_chunk
**
pp
);
#define VSM_ITER(vd) for ((vd) = vsm_iter_0(); (vd) != NULL; vsm_iter_n(&vd))
/* These classes are opaque to other programs, so we define the here */
#define VSM_CLASS_FREE "Free"
#define VSM_CLASS_COOL "Cool"
...
...
bin/varnishd/mgt_shmem.c
View file @
8838884f
...
...
@@ -98,12 +98,12 @@ SVNID("$Id$")
#include <sys/mman.h>
#include <sys/stat.h>
#include "vsm.h"
#include "vsc.h"
#include "vsl.h"
#include "mgt.h"
#include "heritage.h"
#include "vmb.h"
#include "vsm.h"
#ifndef MAP_HASSEMAPHORE
#define MAP_HASSEMAPHORE 0
/* XXX Linux */
...
...
bin/varnishd/vsm.c
View file @
8838884f
...
...
@@ -72,31 +72,6 @@ vsm_release(unsigned seq)
/*--------------------------------------------------------------------*/
struct
vsm_chunk
*
vsm_iter_0
(
void
)
{
CHECK_OBJ_NOTNULL
(
vsm_head
,
VSM_HEAD_MAGIC
);
CHECK_OBJ_NOTNULL
(
&
vsm_head
->
head
,
VSM_CHUNK_MAGIC
);
return
(
&
vsm_head
->
head
);
}
void
vsm_iter_n
(
struct
vsm_chunk
**
pp
)
{
CHECK_OBJ_NOTNULL
(
vsm_head
,
VSM_HEAD_MAGIC
);
CHECK_OBJ_NOTNULL
(
*
pp
,
VSM_CHUNK_MAGIC
);
*
pp
=
VSM_NEXT
(
*
pp
);
if
(
*
pp
>=
vsm_end
)
{
*
pp
=
NULL
;
return
;
}
CHECK_OBJ_NOTNULL
(
*
pp
,
VSM_CHUNK_MAGIC
);
}
/*--------------------------------------------------------------------*/
static
void
vsm_cleanup
(
void
)
{
...
...
@@ -178,7 +153,7 @@ VSM_Alloc(unsigned size, const char *class, const char *type, const char *ident)
if
(
size
>
sha
->
len
)
continue
;
/* Mark as inconsistent while we write string fields */
/* Mark as inconsistent while we write string fields */
seq
=
vsm_mark
();
if
(
size
+
sizeof
(
*
sha
)
<
sha
->
len
)
{
...
...
include/vsm.h
View file @
8838884f
...
...
@@ -78,4 +78,37 @@ struct vsm_head {
struct
vsm_chunk
head
;
};
/*
* You must include "miniobj.h" and have an assert function to be
* able to use the VSM_ITER() macro.
*/
#ifdef CHECK_OBJ_NOTNULL
static
inline
struct
vsm_chunk
*
vsm_iter_0
(
void
)
{
CHECK_OBJ_NOTNULL
(
vsm_head
,
VSM_HEAD_MAGIC
);
CHECK_OBJ_NOTNULL
(
&
vsm_head
->
head
,
VSM_CHUNK_MAGIC
);
return
(
&
vsm_head
->
head
);
}
static
inline
void
vsm_iter_n
(
struct
vsm_chunk
**
pp
)
{
CHECK_OBJ_NOTNULL
(
vsm_head
,
VSM_HEAD_MAGIC
);
CHECK_OBJ_NOTNULL
(
*
pp
,
VSM_CHUNK_MAGIC
);
*
pp
=
VSM_NEXT
(
*
pp
);
if
(
*
pp
>=
vsm_end
)
{
*
pp
=
NULL
;
return
;
}
CHECK_OBJ_NOTNULL
(
*
pp
,
VSM_CHUNK_MAGIC
);
}
#define VSM_ITER(vd) for ((vd) = vsm_iter_0(); (vd) != NULL; vsm_iter_n(&vd))
#endif
/* CHECK_OBJ_NOTNULL */
#endif
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment