--- src/shrpx_client_handler.cc.orig 2023-05-10 03:29:19.000000000 -0500 +++ src/shrpx_client_handler.cc 2023-05-11 15:24:40.000000000 -0500 @@ -1036,12 +1036,12 @@ case UpstreamAltMode::API: { auto dconn = std::make_unique(worker_); dconn->set_client_handler(this); - return dconn; + return std::move(dconn); } case UpstreamAltMode::HEALTHMON: { auto dconn = std::make_unique(); dconn->set_client_handler(this); - return dconn; + return std::move(dconn); } default: break; @@ -1108,7 +1108,7 @@ if (group->shared_addr->dnf) { auto dconn = std::make_unique(group); dconn->set_client_handler(this); - return dconn; + return std::move(dconn); } auto addr = get_downstream_addr(err, group.get(), downstream); @@ -1150,7 +1150,7 @@ auto http2session = get_http2_session(group, addr); auto dconn = std::make_unique(http2session); dconn->set_client_handler(this); - return dconn; + return std::move(dconn); } MemchunkPool *ClientHandler::get_mcpool() { return worker_->get_mcpool(); }