mirror of
https://github.com/kunkundi/crossdesk.git
synced 2025-10-26 20:25:34 +08:00
[fix] fix crash when try to close connection
This commit is contained in:
@@ -120,15 +120,15 @@ int Render::ConnectTo(const std::string &host_name, const char *password,
|
|||||||
if (signal_connected_) {
|
if (signal_connected_) {
|
||||||
if (!props->connection_established_) {
|
if (!props->connection_established_) {
|
||||||
if (0 == strcmp(host_name.c_str(), client_id_) && !peer_reserved_) {
|
if (0 == strcmp(host_name.c_str(), client_id_) && !peer_reserved_) {
|
||||||
|
std::string client_id = "C-";
|
||||||
|
client_id += client_id_;
|
||||||
peer_reserved_ = CreatePeer(¶ms_);
|
peer_reserved_ = CreatePeer(¶ms_);
|
||||||
if (peer_reserved_) {
|
if (peer_reserved_) {
|
||||||
LOG_INFO("Create peer[reserved] instance successful");
|
LOG_INFO("[{}] Create peer instance successful", client_id);
|
||||||
std::string client_id = "C-";
|
|
||||||
client_id += client_id_;
|
|
||||||
Init(peer_reserved_, client_id.c_str());
|
Init(peer_reserved_, client_id.c_str());
|
||||||
LOG_INFO("Peer[reserved] init finish");
|
LOG_INFO("[{}] Peer init finish", client_id);
|
||||||
} else {
|
} else {
|
||||||
LOG_INFO("Create peer[reserved] instance failed");
|
LOG_INFO("Create peer [{}] instance failed", client_id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -353,7 +353,7 @@ int Render::CreateConnectionPeer() {
|
|||||||
Init(peer_, client_id_);
|
Init(peer_, client_id_);
|
||||||
LOG_INFO("[{}] Peer init finish", client_id_);
|
LOG_INFO("[{}] Peer init finish", client_id_);
|
||||||
} else {
|
} else {
|
||||||
LOG_INFO("Create peer instance failed");
|
LOG_INFO("Create peer [{}] instance failed", client_id_);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@@ -855,12 +855,16 @@ int Render::Run() {
|
|||||||
props->remember_password_ ? props->remote_password_ : "");
|
props->remember_password_ ? props->remote_password_ : "");
|
||||||
}
|
}
|
||||||
|
|
||||||
LOG_INFO("[{}] Leave connection [{}]", client_id_, it.first);
|
|
||||||
LeaveConnection(peer_reserved_ ? peer_reserved_ : peer_,
|
|
||||||
it.first.c_str());
|
|
||||||
if (peer_reserved_) {
|
if (peer_reserved_) {
|
||||||
LOG_INFO("Destroy peer[reserved]");
|
std::string client_id = "C-";
|
||||||
|
client_id += client_id_;
|
||||||
|
LOG_INFO("[{}] Leave connection [{}]", client_id, it.first);
|
||||||
|
LeaveConnection(peer_reserved_, it.first.c_str());
|
||||||
|
LOG_INFO("Destroy peer [{}]", client_id);
|
||||||
DestroyPeer(&peer_reserved_);
|
DestroyPeer(&peer_reserved_);
|
||||||
|
} else {
|
||||||
|
LOG_INFO("[{}] Leave connection [{}]", client_id_, it.first);
|
||||||
|
LeaveConnection(peer_, it.first.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
props->streaming_ = false;
|
props->streaming_ = false;
|
||||||
@@ -1078,7 +1082,7 @@ int Render::Run() {
|
|||||||
LOG_INFO("[{}] Leave connection [{}]", client_id_, client_id_);
|
LOG_INFO("[{}] Leave connection [{}]", client_id_, client_id_);
|
||||||
LeaveConnection(peer_, client_id_);
|
LeaveConnection(peer_, client_id_);
|
||||||
is_client_mode_ = false;
|
is_client_mode_ = false;
|
||||||
LOG_INFO("Destroy peer");
|
LOG_INFO("Destroy peer [{}]", client_id_);
|
||||||
DestroyPeer(&peer_);
|
DestroyPeer(&peer_);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
2
thirdparty/projectx
vendored
2
thirdparty/projectx
vendored
Submodule thirdparty/projectx updated: b50175f943...160ee9feef
Reference in New Issue
Block a user