diff options
author | Håvard Pettersen <havardpe@yahooinc.com> | 2022-05-06 09:33:13 +0000 |
---|---|---|
committer | Håvard Pettersen <havardpe@yahooinc.com> | 2022-05-06 09:33:13 +0000 |
commit | 50bebcf075fff663a11186cdf249f852e1058407 (patch) | |
tree | b18eb15713246c573a786d13359b022b72e5f0aa /fnet | |
parent | eed0a45c502785321272fb5e5166b0c188daef04 (diff) |
remember port number
to avoid race on shutdown
Diffstat (limited to 'fnet')
-rw-r--r-- | fnet/src/vespa/fnet/connector.cpp | 5 | ||||
-rw-r--r-- | fnet/src/vespa/fnet/connector.h | 1 |
2 files changed, 4 insertions, 2 deletions
diff --git a/fnet/src/vespa/fnet/connector.cpp b/fnet/src/vespa/fnet/connector.cpp index 1d2002d6861..f5ce49f2019 100644 --- a/fnet/src/vespa/fnet/connector.cpp +++ b/fnet/src/vespa/fnet/connector.cpp @@ -20,14 +20,15 @@ FNET_Connector::FNET_Connector(FNET_TransportThread *owner, : FNET_IOComponent(owner, server_socket.get_fd(), spec, /* time-out = */ false), _streamer(streamer), _serverAdapter(serverAdapter), - _server_socket(std::move(server_socket)) + _server_socket(std::move(server_socket)), + _cached_port(_server_socket.address().port()) { } uint32_t FNET_Connector::GetPortNumber() const { - return _server_socket.address().port(); + return _cached_port; } diff --git a/fnet/src/vespa/fnet/connector.h b/fnet/src/vespa/fnet/connector.h index ff93a0a6a92..858313d6582 100644 --- a/fnet/src/vespa/fnet/connector.h +++ b/fnet/src/vespa/fnet/connector.h @@ -18,6 +18,7 @@ private: FNET_IPacketStreamer *_streamer; FNET_IServerAdapter *_serverAdapter; vespalib::ServerSocket _server_socket; + uint32_t _cached_port; FNET_Connector(const FNET_Connector &); FNET_Connector &operator=(const FNET_Connector &); |