Skip to content
This repository was archived by the owner on Feb 16, 2026. It is now read-only.

Commit a2cfe91

Browse files
committed
h2: Give the h2 transport its waiting list steps
For now they do nothing that wouldn't happen in their absence.
1 parent 856488c commit a2cfe91

2 files changed

Lines changed: 25 additions & 1 deletion

File tree

bin/varnishd/cache/cache_hash.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -398,7 +398,7 @@ hsh_reembark(struct worker *wrk, struct req *req)
398398
req->top->topreq->transport->reembark(wrk, req);
399399

400400
if (req->transport->reembark != NULL) {
401-
// For ESI includes
401+
// For ESI includes or h2 streams
402402
req->transport->reembark(wrk, req);
403403
return;
404404
}

bin/varnishd/http2/cache_http2_session.c

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -438,6 +438,28 @@ h2_new_session(struct worker *wrk, void *arg)
438438
wrk->vsl = NULL;
439439
}
440440

441+
/**********************************************************************
442+
*/
443+
444+
static void
445+
h2_waitlist(struct worker *wrk, struct req *req)
446+
{
447+
448+
CHECK_OBJ_NOTNULL(wrk, WORKER_MAGIC);
449+
CHECK_OBJ_NOTNULL(req, REQ_MAGIC);
450+
}
451+
452+
static void
453+
h2_reembark(struct worker *wrk, struct req *req)
454+
{
455+
456+
CHECK_OBJ_NOTNULL(wrk, WORKER_MAGIC);
457+
CHECK_OBJ_NOTNULL(req, REQ_MAGIC);
458+
459+
if (IS_TOPREQ(req))
460+
AZ(Pool_Task(req->sp->pool, req->task, TASK_QUEUE_RUSH));
461+
}
462+
441463
struct transport HTTP2_transport = {
442464
.name = "HTTP/2",
443465
.magic = TRANSPORT_MAGIC,
@@ -447,4 +469,6 @@ struct transport HTTP2_transport = {
447469
.req_body = h2_req_body,
448470
.req_fail = h2_req_fail,
449471
.sess_panic = h2_sess_panic,
472+
.waitlist = h2_waitlist,
473+
.reembark = h2_reembark,
450474
};

0 commit comments

Comments
 (0)