Things To Put On My Instagram Story

It Post Incident Review Template

itil post incident review template post incident review template for google slides and powerpoint ppt slides top 10 itil incident management templates with samples and examples free itil templates smartsheet it post incident evaluation form template in word pdf google docs post incident review template for google slides and powerpoint ppt slides free post incident report template to edit online it post incident review template root cause analysis editable etsy free it incident postmortem templates smartshee itsm post incident review template atlassian download free major incident report template for your use free it incident report template to edit online it infrastructure library incident handling procedure post incident post incident review powerpoint templates slides and graphics free it incident postmortem templates smartshee post incident review template it post incident review template root cause analysis editable etsy it post incident recovery plan template in word pdf google docs post implementation review template itil docs itil templates and comprehensive guide to conducting post incident reviews course hero post incident review template post incident analysis template complete with ease airslate signnow post incident review powerpoint templates slides and graphics post incident review template iso 27001 2022 post incident review template word it post incident review template post incident review template iso 27001 2022 post incident review template word post incident review template for safety committees it post incident review template root cause analysis editable etsy it post incident review template root cause analysis editable etsy it post incident evaluation form template in word pdf google docs top 10 post incident review powerpoint presentation templates in 2025 post incident review template post incident review template

:
Presentation Card Design
work on connectivity issues
1 parent What Does Spirit Look Like commit 7604cfc

Itil post incident review template 4 files changed Financial Rewards

Lines changed: 33 additions & 11 deletions

Blog Post List UI Design It Incident Review Template

src/internal/sio_client_impl.cpp

Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -126,9 +126,8 @@ namespace sio
126126
#endif
127127
}
128128

129-
socket::ptr const& client_impl::socket(string const& nsp)
129+
socket::ptr client_impl::socket(string const& nsp)
130130
{
131-
lock_guard<mutex> guard(m_socket_mutex);
132131
string aux;
133132
if(nsp == "")
134133
{
@@ -144,17 +143,40 @@ namespace sio
144143
aux = nsp;
145144
}
146145

146+
{
147+
lock_guard<mutex> guard(m_socket_mutex);
148+
auto it = m_sockets.find(aux);
149+
SAL_FUNC_INFO("%d", it!= m_sockets.end());
150+
if(it!= m_sockets.end())
151+
{
152+
return it->second;
153+
}
154+
}
155+
156+
// Constructed with m_socket_mutex released. The sio::socket constructor calls
157+
// send_connect(), whose write can fail synchronously (ECONNABORTED on a half-dead
158+
// connection) and re-enter client_impl::on_close() on this very thread. on_close()
159+
// takes m_socket_mutex via sockets_invoke_void(), so building this under the lock
160+
// deadlocks the non-recursive mutex against itself and wedges the client forever.
161+
socket::ptr s(new sio::socket(this,aux,m_auth));
162+
163+
// Publish only a socket whose CONNECT actually went out. A cached socket is handed
164+
// straight back on every later call and never re-sends (socket::impl::on_open()
165+
// deliberately does not send_connect), so caching a failed one would poison the
166+
// namespace until remove_socket(). Leaving it out means the next call reconstructs
167+
// and retries, which is what the reconnect path relies on.
168+
if(!opened())
169+
{
170+
return s;
171+
}
172+
173+
lock_guard<mutex> guard(m_socket_mutex);
147174
auto it = m_sockets.find(aux);
148-
SAL_FUNC_INFO("%d", it!= m_sockets.end());
149175
if(it!= m_sockets.end())
150176
{
151177
return it->second;
152178
}
153-
else
154-
{
155-
pair<const string, socket::ptr> p(aux,shared_ptr<sio::socket>(new sio::socket(this,aux,m_auth)));
156-
return (m_sockets.insert(p).first)->second;
157-
}
179+
return m_sockets.insert(pair<const string, socket::ptr>(aux,s)).first->second;
158180
}
159181

160182
void client_impl::close()

src/internal/sio_client_impl.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ namespace sio
9292
void connect(const std::string& uri, const std::map<std::string, std::string>& queryString,
9393
const std::map<std::string, std::string>& httpExtraHeaders, const message::ptr& auth);
9494

95-
sio::socket::ptr const& socket(const std::string& nsp);
95+
sio::socket::ptr socket(const std::string& nsp);
9696

9797
// Closes the connection
9898
void close();

src/sio_client.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ namespace sio
104104
m_impl->connect(uri, query, http_extra_headers, auth);
105105
}
106106

107-
socket::ptr const& client::socket(const std::string& nsp)
107+
socket::ptr client::socket(const std::string& nsp)
108108
{
109109
return m_impl->socket(nsp);
110110
}

src/sio_client.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ namespace sio
8585

8686
void set_logs_verbose();
8787

88-
sio::socket::ptr const& socket(const std::string& nsp = "");
88+
sio::socket::ptr socket(const std::string& nsp = "");
8989

9090
// Closes the connection
9191
void close();

Book Product Page Design It Post Incident Review Template

Comments
 (0)