diff --git a/wpiutil/src/main/native/cpp/uv/Tcp.cpp b/wpiutil/src/main/native/cpp/uv/Tcp.cpp index 7bd4c4e3b5..f71e055a4f 100644 --- a/wpiutil/src/main/native/cpp/uv/Tcp.cpp +++ b/wpiutil/src/main/native/cpp/uv/Tcp.cpp @@ -26,23 +26,21 @@ std::shared_ptr Tcp::Create(Loop& loop, unsigned int flags) { } void Tcp::Reuse(std::function callback, unsigned int flags) { - if (!IsClosing()) { - m_reuseData = std::make_unique(); - m_reuseData->callback = callback; - m_reuseData->flags = flags; - uv_close(GetRawHandle(), [](uv_handle_t* handle) { - Tcp& h = *static_cast(handle->data); - if (!h.m_reuseData) return; // just in case - auto data = std::move(h.m_reuseData); - int err = - uv_tcp_init_ex(h.GetLoopRef().GetRaw(), h.GetRaw(), data->flags); - if (err < 0) { - h.ReportError(err); - return; - } - data->callback(); - }); - } + if (IsClosing()) return; + if (!m_reuseData) m_reuseData = std::make_unique(); + m_reuseData->callback = callback; + m_reuseData->flags = flags; + uv_close(GetRawHandle(), [](uv_handle_t* handle) { + Tcp& h = *static_cast(handle->data); + if (!h.m_reuseData) return; // just in case + auto data = std::move(h.m_reuseData); + int err = uv_tcp_init_ex(h.GetLoopRef().GetRaw(), h.GetRaw(), data->flags); + if (err < 0) { + h.ReportError(err); + return; + } + data->callback(); + }); } std::shared_ptr Tcp::Accept() {