From b4a8d1632c2b4a3d4dc6e03d732fa3e93fd0731e Mon Sep 17 00:00:00 2001
From: lichao <lichao@aiotlink.com>
Date: 星期二, 18 五月 2021 14:50:42 +0800
Subject: [PATCH] fix re-register fail.

---
 src/topic_node.h   |    2 +-
 src/topic_node.cpp |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/topic_node.cpp b/src/topic_node.cpp
index c10b27f..43d748f 100644
--- a/src/topic_node.cpp
+++ b/src/topic_node.cpp
@@ -155,10 +155,10 @@
 	}
 	auto end_time = steady_clock::now() + milliseconds(timeout_ms);
 
-	while (state_ != eStateUnregistered && steady_clock::now() < end_time) {
+	while (!Valid() && steady_clock::now() < end_time) {
 		std::this_thread::yield();
 	}
-	if (state_ != eStateUnregistered) {
+	if (!Valid()) {
 		SetLastError(eError, kErrMsgNotInit);
 		return false;
 	}
diff --git a/src/topic_node.h b/src/topic_node.h
index 430ddfe..1dfbf43 100644
--- a/src/topic_node.h
+++ b/src/topic_node.h
@@ -156,7 +156,7 @@
 	State state() const { return state_.load(); }
 	bool IsOnline() { return state() == eStateOnline; }
 	bool Init();
-	bool Valid() const { return !sockets_.empty(); }
+	bool Valid() const { return state() != eStateUninited; }
 	std::mutex mutex_;
 	MQId ssn_id_ = 0;
 	std::atomic<State> state_;

--
Gitblit v1.8.0