mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-07 20:10:13 +02:00
Fix plugin host watchdog treating zombies as alive
This commit is contained in:
@@ -96,11 +96,10 @@ fs::path IndividualHost::path() {
|
||||
return host_path;
|
||||
}
|
||||
|
||||
bool IndividualHost::running() noexcept {
|
||||
std::error_code error{};
|
||||
const bool running = host.running(error);
|
||||
|
||||
return running && !error;
|
||||
bool IndividualHost::running() {
|
||||
// NOTE: `boost::process::child::running()` still considers zombies as
|
||||
// running, so it's useless for our purposes.
|
||||
return pid_running(host.id());
|
||||
}
|
||||
|
||||
void IndividualHost::terminate() {
|
||||
|
||||
@@ -52,7 +52,7 @@ class HostProcess {
|
||||
* Return true if the host process is still running. Used during startup to
|
||||
* abort connecting to sockets if the Wine process has crashed.
|
||||
*/
|
||||
virtual bool running() noexcept = 0;
|
||||
virtual bool running() = 0;
|
||||
|
||||
/**
|
||||
* Kill the process or cause the plugin that's being hosted to exit.
|
||||
@@ -200,7 +200,7 @@ class IndividualHost : public HostProcess {
|
||||
const HostRequest& host_request);
|
||||
|
||||
boost::filesystem::path path() override;
|
||||
bool running() noexcept override;
|
||||
bool running() override;
|
||||
void terminate() override;
|
||||
|
||||
private:
|
||||
|
||||
Reference in New Issue
Block a user