diff options
| -rw-r--r-- | src/src/multiprocess.cpp | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/src/multiprocess.cpp b/src/src/multiprocess.cpp index b22ada3..3ac4c72 100644 --- a/src/src/multiprocess.cpp +++ b/src/src/multiprocess.cpp @@ -172,11 +172,22 @@ void MOMultiProcess::receiveMessage() const auto av = socket->bytesAvailable();
if (av <= 0) {
- MOBase::log::error("failed to receive data from secondary process: {}",
- socket->errorString());
+ // primaryAlive() liveness probes connect then disconnect without sending
+ // any data — these are expected, not errors. A real secondary that
+ // failed to deliver its payload will leave a non-PeerClosed error.
+ const auto err = socket->error();
+ const bool isProbe = err == QLocalSocket::PeerClosedError ||
+ err == QLocalSocket::UnknownSocketError;
+ if (isProbe) {
+ MOBase::log::debug(
+ "secondary closed without sending data (liveness probe)");
+ } else {
+ MOBase::log::error("failed to receive data from secondary process: {}",
+ socket->errorString());
- reportError(tr("failed to receive data from secondary process: %1")
- .arg(socket->errorString()));
+ reportError(tr("failed to receive data from secondary process: %1")
+ .arg(socket->errorString()));
+ }
return;
}
}
|
