mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-22 22:31:28 +02:00
BUG/MINOR: stream: Be sure to have a listener to increment its counters
In process_stream(), when a client or a server abort is handled, the corresponding listener's counter is incremented. But, we must be sure to have a listener attached to the session. This bug was introduced by the commit cff0f739e51. Thanks to Fred to reporting me the bug. No need to backport this patch, except if commit cff0f739e51 is backported.
This commit is contained in:
parent
be20cf36af
commit
99ac8a1aa4
20
src/stream.c
20
src/stream.c
@ -1616,7 +1616,7 @@ struct task *process_stream(struct task *t, void *context, unsigned short state)
|
||||
if (!(req->analysers) && !(res->analysers)) {
|
||||
_HA_ATOMIC_ADD(&s->be->be_counters.cli_aborts, 1);
|
||||
_HA_ATOMIC_ADD(&sess->fe->fe_counters.cli_aborts, 1);
|
||||
if (sess->listener->counters)
|
||||
if (sess->listener && sess->listener->counters)
|
||||
_HA_ATOMIC_ADD(&sess->listener->counters->cli_aborts, 1);
|
||||
if (srv)
|
||||
_HA_ATOMIC_ADD(&srv->counters.cli_aborts, 1);
|
||||
@ -1639,7 +1639,7 @@ struct task *process_stream(struct task *t, void *context, unsigned short state)
|
||||
if (!(req->analysers) && !(res->analysers)) {
|
||||
_HA_ATOMIC_ADD(&s->be->be_counters.srv_aborts, 1);
|
||||
_HA_ATOMIC_ADD(&sess->fe->fe_counters.srv_aborts, 1);
|
||||
if (sess->listener->counters)
|
||||
if (sess->listener && sess->listener->counters)
|
||||
_HA_ATOMIC_ADD(&sess->listener->counters->srv_aborts, 1);
|
||||
if (srv)
|
||||
_HA_ATOMIC_ADD(&srv->counters.srv_aborts, 1);
|
||||
@ -1894,7 +1894,7 @@ struct task *process_stream(struct task *t, void *context, unsigned short state)
|
||||
if (req->flags & CF_READ_ERROR) {
|
||||
_HA_ATOMIC_ADD(&s->be->be_counters.cli_aborts, 1);
|
||||
_HA_ATOMIC_ADD(&sess->fe->fe_counters.cli_aborts, 1);
|
||||
if (sess->listener->counters)
|
||||
if (sess->listener && sess->listener->counters)
|
||||
_HA_ATOMIC_ADD(&sess->listener->counters->cli_aborts, 1);
|
||||
if (srv)
|
||||
_HA_ATOMIC_ADD(&srv->counters.cli_aborts, 1);
|
||||
@ -1903,7 +1903,7 @@ struct task *process_stream(struct task *t, void *context, unsigned short state)
|
||||
else if (req->flags & CF_READ_TIMEOUT) {
|
||||
_HA_ATOMIC_ADD(&s->be->be_counters.cli_aborts, 1);
|
||||
_HA_ATOMIC_ADD(&sess->fe->fe_counters.cli_aborts, 1);
|
||||
if (sess->listener->counters)
|
||||
if (sess->listener && sess->listener->counters)
|
||||
_HA_ATOMIC_ADD(&sess->listener->counters->cli_aborts, 1);
|
||||
if (srv)
|
||||
_HA_ATOMIC_ADD(&srv->counters.cli_aborts, 1);
|
||||
@ -1912,7 +1912,7 @@ struct task *process_stream(struct task *t, void *context, unsigned short state)
|
||||
else if (req->flags & CF_WRITE_ERROR) {
|
||||
_HA_ATOMIC_ADD(&s->be->be_counters.srv_aborts, 1);
|
||||
_HA_ATOMIC_ADD(&sess->fe->fe_counters.srv_aborts, 1);
|
||||
if (sess->listener->counters)
|
||||
if (sess->listener && sess->listener->counters)
|
||||
_HA_ATOMIC_ADD(&sess->listener->counters->srv_aborts, 1);
|
||||
if (srv)
|
||||
_HA_ATOMIC_ADD(&srv->counters.srv_aborts, 1);
|
||||
@ -1921,7 +1921,7 @@ struct task *process_stream(struct task *t, void *context, unsigned short state)
|
||||
else {
|
||||
_HA_ATOMIC_ADD(&s->be->be_counters.srv_aborts, 1);
|
||||
_HA_ATOMIC_ADD(&sess->fe->fe_counters.srv_aborts, 1);
|
||||
if (sess->listener->counters)
|
||||
if (sess->listener && sess->listener->counters)
|
||||
_HA_ATOMIC_ADD(&sess->listener->counters->srv_aborts, 1);
|
||||
if (srv)
|
||||
_HA_ATOMIC_ADD(&srv->counters.srv_aborts, 1);
|
||||
@ -1948,7 +1948,7 @@ struct task *process_stream(struct task *t, void *context, unsigned short state)
|
||||
if (res->flags & CF_READ_ERROR) {
|
||||
_HA_ATOMIC_ADD(&s->be->be_counters.srv_aborts, 1);
|
||||
_HA_ATOMIC_ADD(&sess->fe->fe_counters.srv_aborts, 1);
|
||||
if (sess->listener->counters)
|
||||
if (sess->listener && sess->listener->counters)
|
||||
_HA_ATOMIC_ADD(&sess->listener->counters->srv_aborts, 1);
|
||||
if (srv)
|
||||
_HA_ATOMIC_ADD(&srv->counters.srv_aborts, 1);
|
||||
@ -1957,7 +1957,7 @@ struct task *process_stream(struct task *t, void *context, unsigned short state)
|
||||
else if (res->flags & CF_READ_TIMEOUT) {
|
||||
_HA_ATOMIC_ADD(&s->be->be_counters.srv_aborts, 1);
|
||||
_HA_ATOMIC_ADD(&sess->fe->fe_counters.srv_aborts, 1);
|
||||
if (sess->listener->counters)
|
||||
if (sess->listener && sess->listener->counters)
|
||||
_HA_ATOMIC_ADD(&sess->listener->counters->srv_aborts, 1);
|
||||
if (srv)
|
||||
_HA_ATOMIC_ADD(&srv->counters.srv_aborts, 1);
|
||||
@ -1966,7 +1966,7 @@ struct task *process_stream(struct task *t, void *context, unsigned short state)
|
||||
else if (res->flags & CF_WRITE_ERROR) {
|
||||
_HA_ATOMIC_ADD(&s->be->be_counters.cli_aborts, 1);
|
||||
_HA_ATOMIC_ADD(&sess->fe->fe_counters.cli_aborts, 1);
|
||||
if (sess->listener->counters)
|
||||
if (sess->listener && sess->listener->counters)
|
||||
_HA_ATOMIC_ADD(&sess->listener->counters->cli_aborts, 1);
|
||||
if (srv)
|
||||
_HA_ATOMIC_ADD(&srv->counters.cli_aborts, 1);
|
||||
@ -1975,7 +1975,7 @@ struct task *process_stream(struct task *t, void *context, unsigned short state)
|
||||
else {
|
||||
_HA_ATOMIC_ADD(&s->be->be_counters.cli_aborts, 1);
|
||||
_HA_ATOMIC_ADD(&sess->fe->fe_counters.cli_aborts, 1);
|
||||
if (sess->listener->counters)
|
||||
if (sess->listener && sess->listener->counters)
|
||||
_HA_ATOMIC_ADD(&sess->listener->counters->cli_aborts, 1);
|
||||
if (srv)
|
||||
_HA_ATOMIC_ADD(&srv->counters.cli_aborts, 1);
|
||||
|
Loading…
x
Reference in New Issue
Block a user