LingxinMeng 1 year ago
parent
commit
108bc3f869

+ 2 - 2
aarch64/kinglong/common/service/kill_self.go

@@ -33,8 +33,8 @@ type KillSignal struct {
 type KillService struct{}
 
 // Kill 杀死自身程序,通过通道实现 方法必须满足RPC规范:函数有两个参数,第一个参数是请求,第二个是响应
-func (m *KillService) Kill(args *KillSignal, reply *int) error {
-	c_log.GlobalLogger.Info("接收到自杀信号:", *args)
+func (m *KillService) Kill(args KillSignal, reply *int) error {
+	c_log.GlobalLogger.Info("接收到自杀信号:", args)
 	// 1 杀死 rosbag record 命令
 	ChannelKillRosRecord <- 1
 	// 2 杀死所有 ros 订阅者

+ 6 - 3
aarch64/kinglong/control/main/control.go

@@ -42,6 +42,9 @@ func main() {
 			lastStatus = "UN_CHANGE"
 			continue
 		} else if status == "CHANGE" || status == "NONE" {
+			if lastStatus == "CHANGE" && status == "CHANGE" {
+				continue
+			}
 			if lastStatus == "NONE" && status == "NONE" {
 				continue
 			}
@@ -57,13 +60,13 @@ func main() {
 				config.InitPlatformConfig()
 				continue
 			}
-			var killArgs *service.KillSignal
+			var killArgs service.KillSignal
 			if lastStatus == "UN_CHANGE" && status == "CHANGE" {
-				killArgs = &service.KillSignal{NodeName: config.LocalConfig.Node.Name, DropUploadData: config.PlatformConfig.DropUploadData, Restart: true}
+				killArgs = service.KillSignal{NodeName: config.LocalConfig.Node.Name, DropUploadData: config.PlatformConfig.DropUploadData, Restart: true}
 				c_log.GlobalLogger.Info("更新任务,发送rpc重启信号到本地"+config.LocalConfig.Node.Name+":", killArgs)
 			}
 			if lastStatus == "UN_CHANGE" && status == "NONE" {
-				killArgs = &service.KillSignal{NodeName: config.LocalConfig.Node.Name, DropUploadData: config.PlatformConfig.DropUploadData, Restart: false}
+				killArgs = service.KillSignal{NodeName: config.LocalConfig.Node.Name, DropUploadData: config.PlatformConfig.DropUploadData, Restart: false}
 				c_log.GlobalLogger.Info("杀死任务,发送rpc结束信号到本地"+config.LocalConfig.Node.Name+":", killArgs)
 			}
 

+ 2 - 2
aarch64/pji/common/service/kill_self.go

@@ -33,8 +33,8 @@ type KillSignal struct {
 type KillService struct{}
 
 // Kill 杀死自身程序,通过通道实现 方法必须满足RPC规范:函数有两个参数,第一个参数是请求,第二个是响应
-func (m *KillService) Kill(args *KillSignal, reply *int) error {
-	c_log.GlobalLogger.Info("接收到自杀信号:", *args)
+func (m *KillService) Kill(args KillSignal, reply *int) error {
+	c_log.GlobalLogger.Info("接收到自杀信号:", args)
 	// 1 杀死 rosbag record 命令
 	ChannelKillRosRecord <- 1
 	// 2 杀死所有 ros 订阅者

+ 6 - 3
aarch64/pji/control/main/control.go

@@ -45,6 +45,9 @@ func main() {
 			lastStatus = "UN_CHANGE"
 			continue
 		} else if status == "CHANGE" || status == "NONE" {
+			if lastStatus == "CHANGE" && status == "CHANGE" {
+				continue
+			}
 			if lastStatus == "NONE" && status == "NONE" {
 				continue
 			}
@@ -60,13 +63,13 @@ func main() {
 				commonConfig.InitPlatformConfig()
 				continue
 			}
-			var killArgs *commonService.KillSignal
+			var killArgs commonService.KillSignal
 			if lastStatus == "UN_CHANGE" && status == "CHANGE" {
-				killArgs = &commonService.KillSignal{NodeName: "master", DropUploadData: commonConfig.PlatformConfig.DropUploadData, Restart: true}
+				killArgs = commonService.KillSignal{NodeName: "master", DropUploadData: commonConfig.PlatformConfig.DropUploadData, Restart: true}
 				c_log.GlobalLogger.Info("更新任务,发送rpc重启信号:", killArgs)
 			}
 			if lastStatus == "UN_CHANGE" && status == "NONE" {
-				killArgs = &commonService.KillSignal{NodeName: "master", DropUploadData: commonConfig.PlatformConfig.DropUploadData, Restart: false}
+				killArgs = commonService.KillSignal{NodeName: "master", DropUploadData: commonConfig.PlatformConfig.DropUploadData, Restart: false}
 				c_log.GlobalLogger.Info("杀死任务,发送rpc结束信号:", killArgs)
 			}
 

+ 3 - 0
aarch64/pjisuv/control/main/control.go

@@ -43,6 +43,9 @@ func main() {
 			lastStatus = "UN_CHANGE"
 			continue
 		} else if status == "CHANGE" || status == "NONE" {
+			if lastStatus == "CHANGE" && status == "CHANGE" {
+				continue
+			}
 			if lastStatus == "NONE" && status == "NONE" {
 				continue
 			}