From fc04a31caed10ce5ca150fad0ecc0b50252fa753 Mon Sep 17 00:00:00 2001 From: Stary Date: Thu, 28 Aug 2025 19:54:18 +0800 Subject: [PATCH] [TE] fix(transfer): correct handshake daemon initialization order (#765) Fix incorrect initialization sequence in startHandshakeDaemon by moving handshake_plugin_->startDaemon() call after callback registrations to ensure proper setup before daemon starts. Signed-off-by: staryxchen --- mooncake-transfer-engine/src/transfer_metadata.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/mooncake-transfer-engine/src/transfer_metadata.cpp b/mooncake-transfer-engine/src/transfer_metadata.cpp index 52f5a228..5b895389 100644 --- a/mooncake-transfer-engine/src/transfer_metadata.cpp +++ b/mooncake-transfer-engine/src/transfer_metadata.cpp @@ -672,11 +672,6 @@ int TransferMetadata::getRpcMetaEntry(const std::string &server_name, int TransferMetadata::startHandshakeDaemon( OnReceiveHandShake on_receive_handshake, uint16_t listen_port, int sockfd) { - int rc = handshake_plugin_->startDaemon(listen_port, sockfd); - if (rc != 0) { - return rc; - } - handshake_plugin_->registerOnConnectionCallBack( [on_receive_handshake](const Json::Value &peer, Json::Value &local) -> int { @@ -693,6 +688,11 @@ int TransferMetadata::startHandshakeDaemon( [this](const Json::Value &peer, Json::Value &local) -> int { return receivePeerNotify(peer, local); }); + + int rc = handshake_plugin_->startDaemon(listen_port, sockfd); + if (rc != 0) { + return rc; + } return 0; }