From 801cb21da44b6443eccaad9bef59fe16e8b7a63d Mon Sep 17 00:00:00 2001 From: Kevin Khai-Wern Lim Date: Fri, 11 Aug 2023 10:14:17 +0800 Subject: [PATCH] Added timeout when disconnecting connector in Windows Signed-off-by: Kevin Khai-Wern Lim --- core/windows/RdmaConnectedSession.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/windows/RdmaConnectedSession.cpp b/core/windows/RdmaConnectedSession.cpp index 3c22711..529099c 100644 --- a/core/windows/RdmaConnectedSession.cpp +++ b/core/windows/RdmaConnectedSession.cpp @@ -52,7 +52,9 @@ void RdmaConnectedSession::Destroy() try { if (connector.get()) { OverlappedWrapper overlapped; - HandleHROverlapped(connector->Disconnect(overlapped), connector, overlapped); + // For some reason, EventHandler in Windows waits until RDMA Close is called from Linux's connector session + // before it exits. Adding a timeout to allow the thread to exit earlier. + HandleHROverlappedWithTimeout(connector->Disconnect(overlapped), connector, overlapped, 100); } } catch (std::exception&) { }