From efc0fe0a973db706d9409b345ad6fae585f4388c Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 19 Mar 2017 10:36:11 +0100 Subject: Improve arc list efficiency --- src/server/events/Disconnect.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/server/events/Disconnect.cpp') diff --git a/src/server/events/Disconnect.cpp b/src/server/events/Disconnect.cpp index 9320163a..176f0999 100644 --- a/src/server/events/Disconnect.cpp +++ b/src/server/events/Disconnect.cpp @@ -170,11 +170,12 @@ Disconnect::pre_process(PreProcessContext& ctx) bool Disconnect::Impl::execute(RunContext& context, bool set_head_buffers) { - ArcImpl* const port_arc = _head->remove_arc(context, _tail); - - if (!port_arc) { + if (!_arc) { return false; - } else if (_head->is_driver_port()) { + } + + _head->remove_arc(*_arc.get()); + if (_head->is_driver_port()) { return true; } -- cgit v1.2.1