From 422b71d9b16854b9829334495edf302c8e7db1bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E7=A5=A5=E8=B6=85?= Date: Wed, 17 Nov 2021 21:57:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=9F=A5=E6=89=BE=E5=9F=9F?= =?UTF-8?q?=E5=90=8D=E5=AF=B9=E5=BA=94=E6=9C=8D=E5=8A=A1=E6=97=B6=E5=8F=AF?= =?UTF-8?q?=E8=83=BD=E9=80=A0=E6=88=90=E7=9A=84=E6=AD=BB=E9=94=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/serverconfigs/server_address_group.go | 1 + pkg/serverconfigs/server_address_group_test.go | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/pkg/serverconfigs/server_address_group.go b/pkg/serverconfigs/server_address_group.go index 0d69a20..f848af7 100644 --- a/pkg/serverconfigs/server_address_group.go +++ b/pkg/serverconfigs/server_address_group.go @@ -157,6 +157,7 @@ func (this *ServerAddressGroup) MatchServerName(serverName string) *ServerConfig if ok { server, ok := domainMap[serverName] if ok { + this.cacheLocker.RUnlock() return server } } diff --git a/pkg/serverconfigs/server_address_group_test.go b/pkg/serverconfigs/server_address_group_test.go index 7c2f655..a402703 100644 --- a/pkg/serverconfigs/server_address_group_test.go +++ b/pkg/serverconfigs/server_address_group_test.go @@ -75,6 +75,10 @@ func TestServerAddressGroup_MatchServerName(t *testing.T) { for i := 0; i < 100_000; i++ { _ = group.MatchServerName("world.hello.com") } + + // 检查死锁问题 + group.MatchServerName("world2.hello.com") + } func TestServerAddressGroup_MatchServerCNAME(t *testing.T) {