comparison vamp-client/ProcessQtTransport.h @ 113:ac4a9518e1cc

Only if server not running
author Chris Cannam <cannam@all-day-breakfast.com>
date Tue, 25 Oct 2016 15:51:55 +0100
parents d74dfc11927c
children 95c94a86c902
comparison
equal deleted inserted replaced
112:b418b583fd3b 113:ac4a9518e1cc
28 ProcessQtTransport(std::string processName) : 28 ProcessQtTransport(std::string processName) :
29 m_completenessChecker(0) { 29 m_completenessChecker(0) {
30 m_process = new QProcess(); 30 m_process = new QProcess();
31 m_process->setReadChannel(QProcess::StandardOutput); 31 m_process->setReadChannel(QProcess::StandardOutput);
32 m_process->setProcessChannelMode(QProcess::ForwardedErrorChannel); 32 m_process->setProcessChannelMode(QProcess::ForwardedErrorChannel);
33 m_process->start(QString::fromStdString(processName)); 33 m_process->start(processName.c_str());
34 if (!m_process->waitForStarted()) { 34 if (!m_process->waitForStarted()) {
35 QProcess::ProcessError err = m_process->error(); 35 if (m_process->state() == QProcess::NotRunning) {
36 if (err == QProcess::FailedToStart) { 36 QProcess::ProcessError err = m_process->error();
37 std::cerr << "Unable to start server process " << processName 37 if (err == QProcess::FailedToStart) {
38 << std::endl; 38 std::cerr << "Unable to start server process "
39 } else if (err == QProcess::Crashed) { 39 << processName << std::endl;
40 std::cerr << "Server process " << processName 40 } else if (err == QProcess::Crashed) {
41 << " crashed on startup" << std::endl; 41 std::cerr << "Server process " << processName
42 } else { 42 << " crashed on startup" << std::endl;
43 std::cerr << "Server process " << processName 43 } else {
44 << " failed on startup with error code " 44 std::cerr << "Server process " << processName
45 << err << std::endl; 45 << " failed on startup with error code "
46 << err << std::endl;
47 }
48 delete m_process;
49 m_process = nullptr;
46 } 50 }
47 delete m_process;
48 m_process = nullptr;
49 } 51 }
50 } 52 }
51 53
52 ~ProcessQtTransport() { 54 ~ProcessQtTransport() {
53 if (m_process) { 55 if (m_process) {