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
42780ae2
Commit
42780ae2
authored
Jun 20, 2012
by
Poul-Henning Kamp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
move the STP_ values out of the session state functions
parent
c6b0aaa1
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
27 additions
and
11 deletions
+27
-11
cache_center.c
bin/varnishd/cache/cache_center.c
+27
-11
No files found.
bin/varnishd/cache/cache_center.c
View file @
42780ae2
...
@@ -172,7 +172,6 @@ cnt_wait(struct sess *sp, struct worker *wrk, struct req *req)
...
@@ -172,7 +172,6 @@ cnt_wait(struct sess *sp, struct worker *wrk, struct req *req)
if
(
i
==
1
)
{
if
(
i
==
1
)
{
/* Got it, run with it */
/* Got it, run with it */
req
->
t_req
=
now
;
req
->
t_req
=
now
;
sp
->
step
=
STP_START
;
return
(
0
);
return
(
0
);
}
else
if
(
i
==
-
1
)
{
}
else
if
(
i
==
-
1
)
{
why
=
"EOF"
;
why
=
"EOF"
;
...
@@ -226,7 +225,13 @@ DOT DONE -> wait
...
@@ -226,7 +225,13 @@ DOT DONE -> wait
DOT DONE -> ESI_RESP
DOT DONE -> ESI_RESP
*/
*/
static
int
enum
cnt_sess_done_ret
{
SESS_DONE_RET_GONE
,
SESS_DONE_RET_WAIT
,
SESS_DONE_RET_START
,
};
static
enum
cnt_sess_done_ret
cnt_sess_done
(
struct
sess
*
sp
,
struct
worker
*
wrk
,
struct
req
*
req
)
cnt_sess_done
(
struct
sess
*
sp
,
struct
worker
*
wrk
,
struct
req
*
req
)
{
{
double
dh
,
dp
,
da
;
double
dh
,
dp
,
da
;
...
@@ -291,7 +296,7 @@ cnt_sess_done(struct sess *sp, struct worker *wrk, struct req *req)
...
@@ -291,7 +296,7 @@ cnt_sess_done(struct sess *sp, struct worker *wrk, struct req *req)
if
(
sp
->
fd
<
0
)
{
if
(
sp
->
fd
<
0
)
{
wrk
->
stats
.
sess_closed
++
;
wrk
->
stats
.
sess_closed
++
;
SES_Delete
(
sp
,
NULL
,
NAN
);
SES_Delete
(
sp
,
NULL
,
NAN
);
return
(
1
);
return
(
SESS_DONE_RET_GONE
);
}
}
if
(
wrk
->
stats
.
client_req
>=
cache_param
->
wthread_stats_rate
)
if
(
wrk
->
stats
.
client_req
>=
cache_param
->
wthread_stats_rate
)
...
@@ -304,15 +309,14 @@ cnt_sess_done(struct sess *sp, struct worker *wrk, struct req *req)
...
@@ -304,15 +309,14 @@ cnt_sess_done(struct sess *sp, struct worker *wrk, struct req *req)
if
(
i
==
1
)
{
if
(
i
==
1
)
{
req
->
t_req
=
sp
->
t_idle
;
req
->
t_req
=
sp
->
t_idle
;
wrk
->
stats
.
sess_pipeline
++
;
wrk
->
stats
.
sess_pipeline
++
;
sp
->
step
=
STP_START
;
return
(
SESS_DONE_RET_START
)
;
}
else
{
}
else
{
sp
->
t_rx
=
sp
->
t_idle
;
sp
->
t_rx
=
sp
->
t_idle
;
req
->
t_req
=
NAN
;
req
->
t_req
=
NAN
;
if
(
Tlen
(
req
->
htc
->
rxbuf
))
if
(
Tlen
(
req
->
htc
->
rxbuf
))
wrk
->
stats
.
sess_readahead
++
;
wrk
->
stats
.
sess_readahead
++
;
sp
->
step
=
STP_WAIT
;
return
(
SESS_DONE_RET_WAIT
)
;
}
}
return
(
0
);
}
}
/*--------------------------------------------------------------------
/*--------------------------------------------------------------------
...
@@ -322,6 +326,7 @@ void
...
@@ -322,6 +326,7 @@ void
CNT_Session
(
struct
sess
*
sp
)
CNT_Session
(
struct
sess
*
sp
)
{
{
int
done
;
int
done
;
enum
cnt_sess_done_ret
sdr
;
struct
worker
*
wrk
;
struct
worker
*
wrk
;
CHECK_OBJ_NOTNULL
(
sp
,
SESS_MAGIC
);
CHECK_OBJ_NOTNULL
(
sp
,
SESS_MAGIC
);
...
@@ -341,7 +346,8 @@ CNT_Session(struct sess *sp)
...
@@ -341,7 +346,8 @@ CNT_Session(struct sess *sp)
SES_Close
(
sp
,
"remote closed"
);
SES_Close
(
sp
,
"remote closed"
);
else
else
SES_Close
(
sp
,
"error"
);
SES_Close
(
sp
,
"error"
);
assert
(
cnt_sess_done
(
sp
,
wrk
,
sp
->
req
)
==
1
);
sdr
=
cnt_sess_done
(
sp
,
wrk
,
sp
->
req
);
assert
(
sdr
==
SESS_DONE_RET_GONE
);
return
;
return
;
}
}
...
@@ -352,23 +358,33 @@ CNT_Session(struct sess *sp)
...
@@ -352,23 +358,33 @@ CNT_Session(struct sess *sp)
assert
(
assert
(
sp
->
step
==
STP_WAIT
||
sp
->
step
==
STP_WAIT
||
sp
->
step
==
STP_LOOKUP
||
sp
->
step
==
STP_LOOKUP
||
sp
->
step
==
STP_START
||
sp
->
step
==
STP_START
);
sp
->
step
==
STP_RECV
);
if
(
sp
->
step
!=
STP_WAIT
)
{
if
(
sp
->
step
!=
STP_WAIT
)
{
done
=
CNT_Request
(
sp
->
req
);
done
=
CNT_Request
(
sp
->
req
);
if
(
done
==
2
)
if
(
done
==
2
)
return
;
return
;
assert
(
done
==
1
);
assert
(
done
==
1
);
done
=
cnt_sess_done
(
sp
,
wrk
,
sp
->
req
);
sdr
=
cnt_sess_done
(
sp
,
wrk
,
sp
->
req
);
if
(
done
)
switch
(
sdr
)
{
case
SESS_DONE_RET_GONE
:
return
;
return
;
case
SESS_DONE_RET_WAIT
:
sp
->
step
=
STP_WAIT
;
break
;
case
SESS_DONE_RET_START
:
sp
->
step
=
STP_START
;
break
;
default:
WRONG
(
"Illegal enum cnt_sess_done_ret"
);
}
}
}
if
(
sp
->
step
==
STP_WAIT
)
{
if
(
sp
->
step
==
STP_WAIT
)
{
done
=
cnt_wait
(
sp
,
wrk
,
sp
->
req
);
done
=
cnt_wait
(
sp
,
wrk
,
sp
->
req
);
if
(
done
)
if
(
done
)
return
;
return
;
sp
->
step
=
STP_START
;
}
}
}
}
}
}
...
...
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