Esempio n. 1
0
void ZHttpServer::execProcess(const QString &command, QTcpSocket *socket) const
{
    qWarning() << "execProcess:" << command;

    QProcess *process = new QProcess(const_cast<ZHttpServer*>(this));

    connect(process, static_cast<void (QProcess::*)(QProcess::ProcessError)>(&QProcess::error),
            socket, [this, socket, process, command] {
        qWarning() << QString("Exec \"%1\" failed:").arg(sysroot + "/" + command) << process->errorString();

        socket->write(messagePackage("", "text/html", HttpInfo::OtherError, process->errorString()));
        socket->close();
        onProcessFinished(process);
    });

    connect(process, static_cast<void (QProcess::*)(int)>(&QProcess::finished),
            socket, [this, socket, process] {
        const QByteArray &message = process->exitCode() == 0
                ? process->readAllStandardOutput()
                : process->readAllStandardError();

        qWarning() << "execProcess finished, message:" << message;

        socket->write(messagePackage(message));
        socket->close();
        onProcessFinished(process);
    });

    process->start(sysroot + "/" + command, QProcess::ReadOnly);
}
void
RenderingProgressDialog::onVideoEngineStopped(int retCode)
{
    if (retCode == 1) {
        onProcessCanceled();
    } else {
        onProcessFinished(0);
    }
}
Esempio n. 3
0
void Process::tryToRetrieveExitCode()
{
    if (d->exitCode == STILL_ACTIVE)
        if (!GetExitCodeProcess(d->hProcess, &d->exitCode))
            d->exitCode = STILL_ACTIVE;

    if (d->exitCode == STILL_ACTIVE)
        QTimer::singleShot(250, this, SLOT(tryToRetrieveExitCode()));
    else
        onProcessFinished();
}
void PowerComponentX11::onProcessError(QProcess::ProcessError error)
{
  QLOG_ERROR() << "Disabling screensaver is not working. Make sure xdg-screensaver is installed.";
  m_broken = true;
  onProcessFinished(-1, QProcess::CrashExit);
}