summaryrefslogtreecommitdiffstats
path: root/fnet
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@yahooinc.com>2023-01-05 10:51:21 +0100
committerGitHub <noreply@github.com>2023-01-05 10:51:21 +0100
commit3b6d182e4c8eb0f10759e530729948a5f9f8b721 (patch)
tree8ee1d7db4f7f4b36b9ec8b1a9f686ae15ddb34ec /fnet
parent3480099f173127597af2862f9142ac744583cea5 (diff)
parent220fef526a45bd5995979acfb918178145e5557a (diff)
Merge pull request #25392 from vespa-engine/havardpe/drop-safe-discard
remove recursive pseudo lock
Diffstat (limited to 'fnet')
-rw-r--r--fnet/src/vespa/fnet/transport_thread.cpp13
-rw-r--r--fnet/src/vespa/fnet/transport_thread.h4
2 files changed, 1 insertions, 16 deletions
diff --git a/fnet/src/vespa/fnet/transport_thread.cpp b/fnet/src/vespa/fnet/transport_thread.cpp
index 590b6acbfff..262cdaec190 100644
--- a/fnet/src/vespa/fnet/transport_thread.cpp
+++ b/fnet/src/vespa/fnet/transport_thread.cpp
@@ -121,7 +121,7 @@ FNET_TransportThread::PostEvent(FNET_ControlPacket *cpacket,
std::unique_lock<std::mutex> guard(_lock);
if (IsShutDown()) {
guard.unlock();
- SafeDiscardEvent(cpacket, context);
+ DiscardEvent(cpacket, context);
return false;
}
_queue.QueuePacket_NoLock(cpacket, context);
@@ -153,13 +153,6 @@ FNET_TransportThread::DiscardEvent(FNET_ControlPacket *cpacket,
}
}
-void
-FNET_TransportThread::SafeDiscardEvent(FNET_ControlPacket *cpacket,
- FNET_Context context)
-{
- std::lock_guard guard(_pseudo_thread); // be the thread
- DiscardEvent(cpacket, context);
-}
void
FNET_TransportThread::handle_add_cmd(FNET_IOComponent *ioc)
@@ -247,7 +240,6 @@ FNET_TransportThread::FNET_TransportThread(FNET_Transport &owner_in)
_lock(),
_shutdownLock(),
_shutdownCond(),
- _pseudo_thread(),
_started(false),
_shutdown(false),
_finished(false),
@@ -264,8 +256,6 @@ FNET_TransportThread::~FNET_TransportThread()
}
if (_started.load() && !is_finished()) {
LOG(error, "Transport: delete called on active object!");
- } else {
- std::lock_guard guard(_pseudo_thread);
}
}
@@ -624,7 +614,6 @@ FNET_TransportThread::Main()
void
FNET_TransportThread::Run(FastOS_ThreadInterface *thisThread, void *)
{
- std::lock_guard guard(_pseudo_thread); // be the thread
if (!InitEventLoop()) {
LOG(warning, "Transport: Run: Could not init event loop");
return;
diff --git a/fnet/src/vespa/fnet/transport_thread.h b/fnet/src/vespa/fnet/transport_thread.h
index b507c5dc31d..1911b11a81c 100644
--- a/fnet/src/vespa/fnet/transport_thread.h
+++ b/fnet/src/vespa/fnet/transport_thread.h
@@ -48,7 +48,6 @@ private:
std::mutex _lock; // protects the Q
std::mutex _shutdownLock; // used for synchronization during shutdown
std::condition_variable _shutdownCond; // used for synchronization during shutdown
- std::recursive_mutex _pseudo_thread; // used after transport thread has shut down
std::atomic<bool> _started; // event loop started ?
std::atomic<bool> _shutdown; // should stop event loop ?
std::atomic<bool> _finished; // event loop stopped ?
@@ -130,9 +129,6 @@ private:
**/
void DiscardEvent(FNET_ControlPacket *cpacket, FNET_Context context);
- // safely discard events using the pseudo thread mutex
- void SafeDiscardEvent(FNET_ControlPacket *cpacket, FNET_Context context);
-
/**
* Obtain a reference to the object holding the configuration for