[master] 799f68e91 h2_rx_data: Remember to drop the lock before returning
Dag Haavi Finstad
daghf at varnish-software.com
Mon Oct 28 11:16:08 UTC 2019
commit 799f68e918fd3fb8a373338c7886042317e1910c
Author: Dag Haavi Finstad <daghf at varnish-software.com>
Date: Mon Oct 28 12:13:43 2019 +0100
h2_rx_data: Remember to drop the lock before returning
Fixes: #3086
diff --git a/bin/varnishd/http2/cache_http2_proto.c b/bin/varnishd/http2/cache_http2_proto.c
index 902c1e08c..0f2a21230 100644
--- a/bin/varnishd/http2/cache_http2_proto.c
+++ b/bin/varnishd/http2/cache_http2_proto.c
@@ -750,8 +750,10 @@ h2_rx_data(struct worker *wrk, struct h2_sess *h2, struct h2_req *r2)
Lck_Lock(&h2->sess->mtx);
while (h2->mailcall != NULL && h2->error == 0 && r2->error == 0)
AZ(Lck_CondWait(h2->cond, &h2->sess->mtx, 0));
- if (h2->error || r2->error)
+ if (h2->error || r2->error) {
+ Lck_Unlock(&h2->sess->mtx);
return (h2->error ? h2->error : r2->error);
+ }
AZ(h2->mailcall);
h2->mailcall = r2;
h2->req0->r_window -= h2->rxf_len;
More information about the varnish-commit
mailing list