add lock when destroy
diff --git a/protocol/grpc/grpc_protocol.go b/protocol/grpc/grpc_protocol.go
index bf7b782..ec1f5aa 100644
--- a/protocol/grpc/grpc_protocol.go
+++ b/protocol/grpc/grpc_protocol.go
@@ -105,6 +105,8 @@
 
 	gp.BaseProtocol.Destroy()
 
+	gp.serverLock.Lock()
+	defer gp.serverLock.Unlock()
 	for key, server := range gp.serverMap {
 		delete(gp.serverMap, key)
 		server.Stop()