From 5e99201f6c01b2fde524b200de91f526372c7d4c Mon Sep 17 00:00:00 2001
From: CodingSinger <ooczzoo@gmail.com>
Date: Sun, 22 Mar 2020 20:14:39 +0800
Subject: [PATCH] use the once.do to init the registryprotocol

---
 registry/protocol/protocol.go | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/registry/protocol/protocol.go b/registry/protocol/protocol.go
index 4976d34ec..0ffeb3ef7 100644
--- a/registry/protocol/protocol.go
+++ b/registry/protocol/protocol.go
@@ -44,7 +44,8 @@ import (
 )
 
 var (
-	regProtocol = newRegistryProtocol()
+	regProtocol *registryProtocol
+	once sync.Once
 )
 
 type registryProtocol struct {
@@ -348,6 +349,9 @@ func setProviderUrl(regURL *common.URL, providerURL *common.URL) {
 
 // GetProtocol ...
 func GetProtocol() protocol.Protocol {
+	once.Do(func() {
+		regProtocol = newRegistryProtocol()
+	})
 	return regProtocol
 }
 
-- 
GitLab