Avoid double-close of Web Server socket on shutdown.
This commit is contained in:
+2
-20
@@ -1340,30 +1340,12 @@ namespace pipedal
|
||||
StopListening();
|
||||
|
||||
//linger bit to see of connections will shut down normally
|
||||
if(WaitForAllEndpointsClosed(timeoutMs/2))
|
||||
{
|
||||
return;
|
||||
}
|
||||
Lv2Log::warning("WebServer: forcibly closing connections");
|
||||
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock{m_sessionsMutex};
|
||||
for (auto it = m_connections.begin(); it != m_connections.end(); ++it)
|
||||
{
|
||||
try
|
||||
{
|
||||
m_endpoint.close(*it, websocketpp::close::status::abnormal_close, "Shutting down");
|
||||
}
|
||||
catch (const std::exception &ignored)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
if(WaitForAllEndpointsClosed(timeoutMs/2))
|
||||
if(WaitForAllEndpointsClosed(timeoutMs))
|
||||
{
|
||||
return;
|
||||
}
|
||||
Lv2Log::warning("WebServer: failed to close all connections.");
|
||||
return;
|
||||
|
||||
}
|
||||
virtual void Join()
|
||||
|
||||
@@ -80,13 +80,6 @@ static bool isJackServiceRunning()
|
||||
return std::filesystem::exists(path);
|
||||
}
|
||||
|
||||
static void AsanCheck()
|
||||
{
|
||||
char *t = new char[5];
|
||||
t[5] = 'x';
|
||||
delete t;
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
#if ENABLE_BACKTRACE
|
||||
void segvHandler(int sig) {
|
||||
|
||||
@@ -16,12 +16,10 @@ User=pipedal_d
|
||||
Group=pipedal_d
|
||||
Restart=always
|
||||
TimeoutStartSec=60
|
||||
NotifyAccess=all
|
||||
RestartSec=5
|
||||
TimeoutStopSec=15
|
||||
WorkingDirectory=/var/pipedal
|
||||
Environment=JACK_PROMISCUOUS_SERVER=audio
|
||||
Environment=JACK_NO_AUDIO_RESERVATION=1
|
||||
|
||||
|
||||
|
||||
[Install]
|
||||
|
||||
Reference in New Issue
Block a user