mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-07 07:37:02 +02:00
BUG/MEDIUM: queue: Make process_srv_queue return the number of streams
Make process_srv_queue() return the number of streams unqueued, as
pendconn_grab_from_px() did, as that number is used by
srv_update_status() to generate logs.
This should be backported up to 2.6 with
111ea83ed4
This commit is contained in:
parent
6aae995b1d
commit
5b8899b6cc
@ -34,7 +34,7 @@ extern struct pool_head *pool_head_pendconn;
|
|||||||
|
|
||||||
struct pendconn *pendconn_add(struct stream *strm);
|
struct pendconn *pendconn_add(struct stream *strm);
|
||||||
int pendconn_dequeue(struct stream *strm);
|
int pendconn_dequeue(struct stream *strm);
|
||||||
void process_srv_queue(struct server *s);
|
int process_srv_queue(struct server *s);
|
||||||
unsigned int srv_dynamic_maxconn(const struct server *s);
|
unsigned int srv_dynamic_maxconn(const struct server *s);
|
||||||
int pendconn_redistribute(struct server *s);
|
int pendconn_redistribute(struct server *s);
|
||||||
void pendconn_unlink(struct pendconn *p);
|
void pendconn_unlink(struct pendconn *p);
|
||||||
|
@ -354,7 +354,7 @@ static int pendconn_process_next_strm(struct server *srv, struct proxy *px, int
|
|||||||
/* Manages a server's connection queue. This function will try to dequeue as
|
/* Manages a server's connection queue. This function will try to dequeue as
|
||||||
* many pending streams as possible, and wake them up.
|
* many pending streams as possible, and wake them up.
|
||||||
*/
|
*/
|
||||||
void process_srv_queue(struct server *s)
|
int process_srv_queue(struct server *s)
|
||||||
{
|
{
|
||||||
struct server *ref = s->track ? s->track : s;
|
struct server *ref = s->track ? s->track : s;
|
||||||
struct proxy *p = s->proxy;
|
struct proxy *p = s->proxy;
|
||||||
@ -413,6 +413,7 @@ void process_srv_queue(struct server *s)
|
|||||||
if (p->lbprm.server_take_conn)
|
if (p->lbprm.server_take_conn)
|
||||||
p->lbprm.server_take_conn(s);
|
p->lbprm.server_take_conn(s);
|
||||||
}
|
}
|
||||||
|
return done;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Adds the stream <strm> to the pending connection queue of server <strm>->srv
|
/* Adds the stream <strm> to the pending connection queue of server <strm>->srv
|
||||||
|
@ -6435,7 +6435,7 @@ static int _srv_update_status_op(struct server *s, enum srv_op_st_chg_cause caus
|
|||||||
/* check if we can handle some connections queued.
|
/* check if we can handle some connections queued.
|
||||||
* We will take as many as we can handle.
|
* We will take as many as we can handle.
|
||||||
*/
|
*/
|
||||||
process_srv_queue(s);
|
xferred = process_srv_queue(s);
|
||||||
|
|
||||||
tmptrash = alloc_trash_chunk();
|
tmptrash = alloc_trash_chunk();
|
||||||
if (tmptrash) {
|
if (tmptrash) {
|
||||||
@ -6631,7 +6631,7 @@ static int _srv_update_status_adm(struct server *s, enum srv_adm_st_chg_cause ca
|
|||||||
/* check if we can handle some connections queued.
|
/* check if we can handle some connections queued.
|
||||||
* We will take as many as we can handle.
|
* We will take as many as we can handle.
|
||||||
*/
|
*/
|
||||||
process_srv_queue(s);
|
xferred = process_srv_queue(s);
|
||||||
}
|
}
|
||||||
else if (s->next_admin & SRV_ADMF_MAINT) {
|
else if (s->next_admin & SRV_ADMF_MAINT) {
|
||||||
/* remaining in maintenance mode, let's inform precisely about the
|
/* remaining in maintenance mode, let's inform precisely about the
|
||||||
|
Loading…
Reference in New Issue
Block a user