Remove message copy
This was previously making an unneeded copy to try to work around some
undefined behavior bugs. It is no longer needed.
Change-Id: Ic2427d37161087880e6fdcf6e1b9aa4210f15d1e
Signed-off-by: Ed Tanous <edtanous@google.com>
diff --git a/include/sdbusplus/asio/object_server.hpp b/include/sdbusplus/asio/object_server.hpp
index e45bfae..a8493c5 100644
--- a/include/sdbusplus/asio/object_server.hpp
+++ b/include/sdbusplus/asio/object_server.hpp
@@ -186,25 +186,24 @@
private:
void after_spawn(message_t b, boost::asio::yield_context yield)
{
- message_t mcpy{std::move(b)};
std::optional<message_t> err{};
try
{
- expandCall(yield, mcpy);
+ expandCall(yield, b);
}
catch (const sdbusplus::exception::SdBusError& e)
{
// Catch D-Bus error explicitly called by method handler
- err = mcpy.new_method_errno(e.get_errno(), e.get_error());
+ err = b.new_method_errno(e.get_errno(), e.get_error());
}
catch (const sdbusplus::exception_t& e)
{
- err = mcpy.new_method_error(e);
+ err = b.new_method_error(e);
}
catch (...)
{
- err = mcpy.new_method_errno(-EIO);
+ err = b.new_method_errno(-EIO);
}
if (err)