[prev in list] [next in list] [prev in thread] [next in thread] 

List:       varnish-commit
Subject:    [6.0] a1786b0db h2_rx_data: Remember to drop the lock before returning
From:       Dag Haavi Finstad <daghf () varnish-software ! com>
Date:       2019-10-28 11:19:06
Message-ID: 20191028111906.C96E6104AFE () lists ! varnish-cache ! org
[Download RAW message or body]


commit a1786b0db403e3e3772ca7c28500a962070449b4
Author: Dag Haavi Finstad <daghf@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 6a98a1c4b..cb35bb487 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;
_______________________________________________
varnish-commit mailing list
varnish-commit@varnish-cache.org
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-commit
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic