Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
varnish-cache
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
varnishcache
varnish-cache
Commits
61a5d17f
Commit
61a5d17f
authored
Nov 30, 2020
by
Dridi Boukelmoune
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
vtc: Make all relevant commands start varnishd
And wrap the logic in a macro to reduce duplication.
parent
76a580db
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
22 additions
and
30 deletions
+22
-30
vtc_varnish.c
bin/varnishtest/vtc_varnish.c
+22
-30
No files found.
bin/varnishtest/vtc_varnish.c
View file @
61a5d17f
...
@@ -530,6 +530,15 @@ varnish_launch(struct varnish *v)
...
@@ -530,6 +530,15 @@ varnish_launch(struct varnish *v)
AZ
(
pthread_create
(
&
v
->
tp_vsl
,
NULL
,
varnishlog_thread
,
v
));
AZ
(
pthread_create
(
&
v
->
tp_vsl
,
NULL
,
varnishlog_thread
,
v
));
}
}
#define VARNISH_LAUNCH(v) \
do { \
CHECK_OBJ_NOTNULL(v, VARNISH_MAGIC); \
if (v->cli_fd < 0) \
varnish_launch(v); \
if (vtc_error) \
return; \
} while (0)
/**********************************************************************
/**********************************************************************
* Start a Varnish
* Start a Varnish
*/
*/
...
@@ -598,10 +607,7 @@ varnish_start(struct varnish *v)
...
@@ -598,10 +607,7 @@ varnish_start(struct varnish *v)
enum
VCLI_status_e
u
;
enum
VCLI_status_e
u
;
char
*
resp
=
NULL
;
char
*
resp
=
NULL
;
if
(
v
->
cli_fd
<
0
)
VARNISH_LAUNCH
(
v
);
varnish_launch
(
v
);
if
(
vtc_error
)
return
;
vtc_log
(
v
->
vl
,
2
,
"Start"
);
vtc_log
(
v
->
vl
,
2
,
"Start"
);
u
=
varnish_ask_cli
(
v
,
"start"
,
&
resp
);
u
=
varnish_ask_cli
(
v
,
"start"
,
&
resp
);
if
(
vtc_error
)
if
(
vtc_error
)
...
@@ -639,10 +645,8 @@ varnish_start(struct varnish *v)
...
@@ -639,10 +645,8 @@ varnish_start(struct varnish *v)
static
void
static
void
varnish_stop
(
struct
varnish
*
v
)
varnish_stop
(
struct
varnish
*
v
)
{
{
if
(
v
->
cli_fd
<
0
)
varnish_launch
(
v
);
VARNISH_LAUNCH
(
v
);
if
(
vtc_error
)
return
;
vtc_log
(
v
->
vl
,
2
,
"Stop"
);
vtc_log
(
v
->
vl
,
2
,
"Stop"
);
(
void
)
varnish_ask_cli
(
v
,
"stop"
,
NULL
);
(
void
)
varnish_ask_cli
(
v
,
"stop"
,
NULL
);
wait_stopped
(
v
);
wait_stopped
(
v
);
...
@@ -713,10 +717,7 @@ varnish_cli_json(struct varnish *v, const char *cli)
...
@@ -713,10 +717,7 @@ varnish_cli_json(struct varnish *v, const char *cli)
const
char
*
errptr
;
const
char
*
errptr
;
struct
vjsn
*
vj
;
struct
vjsn
*
vj
;
if
(
v
->
cli_fd
<
0
)
VARNISH_LAUNCH
(
v
);
varnish_launch
(
v
);
if
(
vtc_error
)
return
;
u
=
varnish_ask_cli
(
v
,
cli
,
&
resp
);
u
=
varnish_ask_cli
(
v
,
cli
,
&
resp
);
vtc_log
(
v
->
vl
,
2
,
"CLI %03u <%s>"
,
u
,
cli
);
vtc_log
(
v
->
vl
,
2
,
"CLI %03u <%s>"
,
u
,
cli
);
if
(
u
!=
CLIS_OK
)
if
(
u
!=
CLIS_OK
)
...
@@ -742,18 +743,12 @@ varnish_cli(struct varnish *v, const char *cli, unsigned exp, const char *re)
...
@@ -742,18 +743,12 @@ varnish_cli(struct varnish *v, const char *cli, unsigned exp, const char *re)
const
char
*
errptr
;
const
char
*
errptr
;
int
err
;
int
err
;
VARNISH_LAUNCH
(
v
);
if
(
re
!=
NULL
)
{
if
(
re
!=
NULL
)
{
vre
=
VRE_compile
(
re
,
0
,
&
errptr
,
&
err
);
vre
=
VRE_compile
(
re
,
0
,
&
errptr
,
&
err
);
if
(
vre
==
NULL
)
if
(
vre
==
NULL
)
vtc_fatal
(
v
->
vl
,
"Illegal regexp"
);
vtc_fatal
(
v
->
vl
,
"Illegal regexp"
);
}
}
if
(
v
->
cli_fd
<
0
)
varnish_launch
(
v
);
if
(
vtc_error
)
{
if
(
vre
!=
NULL
)
VRE_free
(
&
vre
);
return
;
}
u
=
varnish_ask_cli
(
v
,
cli
,
&
resp
);
u
=
varnish_ask_cli
(
v
,
cli
,
&
resp
);
vtc_log
(
v
->
vl
,
2
,
"CLI %03u <%s>"
,
u
,
cli
);
vtc_log
(
v
->
vl
,
2
,
"CLI %03u <%s>"
,
u
,
cli
);
if
(
exp
!=
0
&&
exp
!=
(
unsigned
)
u
)
if
(
exp
!=
0
&&
exp
!=
(
unsigned
)
u
)
...
@@ -777,10 +772,7 @@ varnish_vcl(struct varnish *v, const char *vcl, int fail, char **resp)
...
@@ -777,10 +772,7 @@ varnish_vcl(struct varnish *v, const char *vcl, int fail, char **resp)
struct
vsb
*
vsb
;
struct
vsb
*
vsb
;
enum
VCLI_status_e
u
;
enum
VCLI_status_e
u
;
if
(
v
->
cli_fd
<
0
)
VARNISH_LAUNCH
(
v
);
varnish_launch
(
v
);
if
(
vtc_error
)
return
;
vsb
=
VSB_new_auto
();
vsb
=
VSB_new_auto
();
AN
(
vsb
);
AN
(
vsb
);
...
@@ -816,10 +808,7 @@ varnish_vclbackend(struct varnish *v, const char *vcl)
...
@@ -816,10 +808,7 @@ varnish_vclbackend(struct varnish *v, const char *vcl)
struct
vsb
*
vsb
,
*
vsb2
;
struct
vsb
*
vsb
,
*
vsb2
;
enum
VCLI_status_e
u
;
enum
VCLI_status_e
u
;
if
(
v
->
cli_fd
<
0
)
VARNISH_LAUNCH
(
v
);
varnish_launch
(
v
);
if
(
vtc_error
)
return
;
vsb
=
VSB_new_auto
();
vsb
=
VSB_new_auto
();
AN
(
vsb
);
AN
(
vsb
);
...
@@ -885,10 +874,11 @@ do_stat_dump_cb(void *priv, const struct VSC_point * const pt)
...
@@ -885,10 +874,11 @@ do_stat_dump_cb(void *priv, const struct VSC_point * const pt)
}
}
static
void
static
void
varnish_vsc
(
const
struct
varnish
*
v
,
const
char
*
arg
)
varnish_vsc
(
struct
varnish
*
v
,
const
char
*
arg
)
{
{
struct
dump_priv
dp
;
struct
dump_priv
dp
;
VARNISH_LAUNCH
(
v
);
memset
(
&
dp
,
0
,
sizeof
dp
);
memset
(
&
dp
,
0
,
sizeof
dp
);
dp
.
v
=
v
;
dp
.
v
=
v
;
dp
.
arg
=
arg
;
dp
.
arg
=
arg
;
...
@@ -955,13 +945,14 @@ do_expect_cb(void *priv, const struct VSC_point * const pt)
...
@@ -955,13 +945,14 @@ do_expect_cb(void *priv, const struct VSC_point * const pt)
*/
*/
static
void
static
void
varnish_expect
(
const
struct
varnish
*
v
,
char
*
const
*
av
)
varnish_expect
(
struct
varnish
*
v
,
char
*
const
*
av
)
{
{
struct
stat_priv
sp
;
struct
stat_priv
sp
;
int
good
,
i
,
not
;
int
good
,
i
,
not
;
uintmax_t
u
;
uintmax_t
u
;
char
*
l
,
*
p
;
char
*
l
,
*
p
;
VARNISH_LAUNCH
(
v
);
ZERO_OBJ
(
&
sp
,
sizeof
sp
);
ZERO_OBJ
(
&
sp
,
sizeof
sp
);
l
=
av
[
0
];
l
=
av
[
0
];
not
=
(
*
l
==
'!'
);
not
=
(
*
l
==
'!'
);
...
@@ -1026,10 +1017,11 @@ varnish_expect(const struct varnish *v, char * const *av)
...
@@ -1026,10 +1017,11 @@ varnish_expect(const struct varnish *v, char * const *av)
}
}
static
void
static
void
vsl_catchup
(
const
struct
varnish
*
v
)
vsl_catchup
(
struct
varnish
*
v
)
{
{
int
vsl_idle
;
int
vsl_idle
;
VARNISH_LAUNCH
(
v
);
vsl_idle
=
v
->
vsl_idle
;
vsl_idle
=
v
->
vsl_idle
;
while
(
!
vtc_error
&&
vsl_idle
==
v
->
vsl_idle
)
while
(
!
vtc_error
&&
vsl_idle
==
v
->
vsl_idle
)
VTIM_sleep
(
0
.
1
);
VTIM_sleep
(
0
.
1
);
...
...
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