MEDIUM: queue: make pendconn_free() work on the stream instead
Now pendconn_free() takes a stream, checks that pend_pos is set, clears
it, and uses pendconn_unlink() to complete the job. It's cleaner and
centralizes all the bookkeeping work in pendconn_unlink() only and
ensures that there's a single place where the stream's position in the
queue is manipulated.
diff --git a/src/proto_http.c b/src/proto_http.c
index 6fa38dd..42c9d1a 100644
--- a/src/proto_http.c
+++ b/src/proto_http.c
@@ -4429,8 +4429,7 @@
s->logs.bytes_in = s->req.total = ci_data(&s->req);
s->logs.bytes_out = s->res.total = ci_data(&s->res);
- if (s->pend_pos)
- pendconn_free(s->pend_pos);
+ pendconn_free(s);
if (objt_server(s->target)) {
if (s->flags & SF_CURR_SESS) {