mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-04-20 03:25:16 +00:00
Remove lv2_socket_native destructor
This commit is contained in:
parent
6a4b9430c0
commit
d376ba5994
6 changed files with 28 additions and 22 deletions
|
@ -175,3 +175,14 @@ void lv2_socket::queue_wake(ppu_thread* ppu)
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
lv2_socket& lv2_socket::operator=(thread_state s) noexcept
|
||||
{
|
||||
if (s == thread_state::finished)
|
||||
{
|
||||
close();
|
||||
}
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
|
|
@ -27,6 +27,8 @@ using socket_type = uptr;
|
|||
using socket_type = int;
|
||||
#endif
|
||||
|
||||
enum class thread_state : u32;
|
||||
|
||||
class lv2_socket
|
||||
{
|
||||
public:
|
||||
|
@ -62,7 +64,8 @@ public:
|
|||
lv2_socket(utils::serial&, lv2_socket_type type);
|
||||
static std::function<void(void*)> load(utils::serial& ar);
|
||||
void save(utils::serial&, bool save_only_this_class = false);
|
||||
virtual ~lv2_socket() = default;
|
||||
~lv2_socket() noexcept = default;
|
||||
lv2_socket& operator=(thread_state s) noexcept;
|
||||
|
||||
std::unique_lock<shared_mutex> lock();
|
||||
|
||||
|
|
|
@ -57,19 +57,6 @@ void lv2_socket_native::save(utils::serial& ar)
|
|||
ar(is_socket_connected());
|
||||
}
|
||||
|
||||
lv2_socket_native::~lv2_socket_native()
|
||||
{
|
||||
std::lock_guard lock(mutex);
|
||||
if (socket)
|
||||
{
|
||||
#ifdef _WIN32
|
||||
::closesocket(socket);
|
||||
#else
|
||||
::close(socket);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
s32 lv2_socket_native::create_socket()
|
||||
{
|
||||
ensure(family == SYS_NET_AF_INET);
|
||||
|
@ -1114,10 +1101,12 @@ void lv2_socket_native::close()
|
|||
socket = {};
|
||||
}
|
||||
|
||||
auto& dnshook = g_fxo->get<np::dnshook>();
|
||||
dnshook.remove_dns_spy(lv2_id);
|
||||
if (auto dnshook = g_fxo->try_get<np::dnshook>())
|
||||
{
|
||||
dnshook->remove_dns_spy(lv2_id);
|
||||
}
|
||||
|
||||
if (bound_port)
|
||||
if (bound_port && g_fxo->is_init<named_thread<np::np_handler>>())
|
||||
{
|
||||
auto& nph = g_fxo->get<named_thread<np::np_handler>>();
|
||||
nph.upnp_remove_port_mapping(bound_port, type == SYS_NET_SOCK_STREAM ? "TCP" : "UDP");
|
||||
|
|
|
@ -35,7 +35,6 @@ public:
|
|||
lv2_socket_native(lv2_socket_family family, lv2_socket_type type, lv2_ip_protocol protocol);
|
||||
lv2_socket_native(utils::serial& ar, lv2_socket_type type);
|
||||
void save(utils::serial& ar);
|
||||
~lv2_socket_native();
|
||||
s32 create_socket();
|
||||
|
||||
std::tuple<bool, s32, shared_ptr<lv2_socket>, sys_net_sockaddr> accept(bool is_lock = true) override;
|
||||
|
|
|
@ -330,8 +330,9 @@ void lv2_socket_p2p::close()
|
|||
return;
|
||||
}
|
||||
|
||||
auto& nc = g_fxo->get<p2p_context>();
|
||||
if (g_fxo->is_init<p2p_context>())
|
||||
{
|
||||
auto& nc = g_fxo->get<p2p_context>();
|
||||
std::lock_guard lock(nc.list_p2p_ports_mutex);
|
||||
|
||||
if (!nc.list_p2p_ports.contains(port))
|
||||
|
|
|
@ -944,8 +944,9 @@ void lv2_socket_p2ps::close()
|
|||
return;
|
||||
}
|
||||
|
||||
auto& nc = g_fxo->get<p2p_context>();
|
||||
if (g_fxo->is_init<p2p_context>())
|
||||
{
|
||||
auto& nc = g_fxo->get<p2p_context>();
|
||||
std::lock_guard lock(nc.list_p2p_ports_mutex);
|
||||
auto& p2p_port = ::at32(nc.list_p2p_ports, port);
|
||||
{
|
||||
|
@ -973,8 +974,10 @@ void lv2_socket_p2ps::close()
|
|||
}
|
||||
}
|
||||
|
||||
auto& tcpm = g_fxo->get<named_thread<tcp_timeout_monitor>>();
|
||||
tcpm.clear_all_messages(lv2_id);
|
||||
if (const auto tcpm = g_fxo->try_get<named_thread<tcp_timeout_monitor>>())
|
||||
{
|
||||
tcpm->clear_all_messages(lv2_id);
|
||||
}
|
||||
}
|
||||
|
||||
s32 lv2_socket_p2ps::shutdown([[maybe_unused]] s32 how)
|
||||
|
|
Loading…
Add table
Reference in a new issue