summaryrefslogtreecommitdiff
path: root/src/mongo/transport/asio/asio_transport_layer_test.cpp
diff options
context:
space:
mode:
authorAmirsaman Memaripour <amirsaman.memaripour@mongodb.com>2023-04-12 13:14:28 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2023-04-12 14:10:43 +0000
commita78040a9e614a92220c31ec12360d6d47b8a8fbd (patch)
tree533b0b982b8690b0d7760e404ed58c2aa04c1b61 /src/mongo/transport/asio/asio_transport_layer_test.cpp
parent76b108d1202e9d63094a5ecded35ca6adb5c4423 (diff)
downloadmongo-a78040a9e614a92220c31ec12360d6d47b8a8fbd.tar.gz
SERVER-75987 Synchronize the connection and server threads in `transport_layer_test`
Diffstat (limited to 'src/mongo/transport/asio/asio_transport_layer_test.cpp')
-rw-r--r--src/mongo/transport/asio/asio_transport_layer_test.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/mongo/transport/asio/asio_transport_layer_test.cpp b/src/mongo/transport/asio/asio_transport_layer_test.cpp
index 2ab09b01f4e..71fbdc5a455 100644
--- a/src/mongo/transport/asio/asio_transport_layer_test.cpp
+++ b/src/mongo/transport/asio/asio_transport_layer_test.cpp
@@ -625,15 +625,17 @@ TEST(AsioTransportLayer, EgressConnectionResetByPeerDuringSessionCtor) {
// `fp` pauses the `AsioSession` constructor immediately prior to its
// `setsockopt` sequence, to allow time for the peer reset to propagate.
- FailPoint& fp = transport::asioTransportLayerSessionPauseBeforeSetSocketOption;
+ auto fp = std::make_unique<FailPointEnableBlock>(
+ "asioTransportLayerSessionPauseBeforeSetSocketOption");
Acceptor server(ioContext);
server.setOnAccept([&](std::shared_ptr<Acceptor::Connection> conn) {
+ LOGV2(7598701, "waiting for the client to reach the fail-point");
+ (*fp)->waitForTimesEntered(fp->initialTimesEntered() + 1);
LOGV2(6101604, "handling a connection by resetting it");
conn->socket.set_option(asio::socket_base::linger(true, 0));
conn->socket.close();
- sleepFor(Seconds{1});
- fp.setMode(FailPoint::off);
+ fp.reset();
});
JoinThread ioThread{[&] {
ioContext.run();
@@ -642,7 +644,6 @@ TEST(AsioTransportLayer, EgressConnectionResetByPeerDuringSessionCtor) {
ioContext.stop();
};
- fp.setMode(FailPoint::alwaysOn);
LOGV2(6101602, "Connecting", "port"_attr = server.port());
using namespace unittest::match;
// On MacOS, calling `setsockopt` on a peer-reset connection yields an