add some debugging capability for users of SystemExec. Needs review.
This commit is contained in:
parent
0812f3bac1
commit
d814acbb8f
@ -355,15 +355,17 @@ ExportHandler::finish_timespan ()
|
||||
subs.insert (std::pair<char, std::string> ('n', session.name ()));
|
||||
|
||||
ARDOUR::SystemExec *se = new ARDOUR::SystemExec(fmt->command(), subs);
|
||||
info << "Post-export command line : {" << se->GetString() << "}" << endmsg;
|
||||
se->ReadStdout.connect_same_thread(command_connection, boost::bind(&ExportHandler::command_output, this, _1, _2));
|
||||
if (se->start (2) == 0) {
|
||||
int ret = se->start (2);
|
||||
if (ret == 0) {
|
||||
// successfully started
|
||||
while (se->is_running ()) {
|
||||
// wait for system exec to terminate
|
||||
Glib::usleep (1000);
|
||||
}
|
||||
} else {
|
||||
error << "post-export hook failed! " << fmt->command() << endmsg;
|
||||
error << "Post-export command FAILED with Error: " << ret << endmsg;
|
||||
}
|
||||
delete (se);
|
||||
}
|
||||
|
@ -115,6 +115,8 @@ class LIBPBD_API SystemExec
|
||||
|
||||
virtual ~SystemExec ();
|
||||
|
||||
std::string GetString();
|
||||
|
||||
/** fork and execute the given program
|
||||
*
|
||||
* @param stderr_mode select what to do with program's standard error
|
||||
|
@ -282,6 +282,18 @@ SystemExec::make_argp_escaped(std::string command, const std::map<char, std::str
|
||||
argp[n] = NULL;
|
||||
}
|
||||
|
||||
string
|
||||
SystemExec::GetString ()
|
||||
{
|
||||
stringstream out;
|
||||
if (argp) {
|
||||
for (int i = 0; argp[i]; ++i) {
|
||||
out << argp[i];
|
||||
}
|
||||
}
|
||||
return out.str();
|
||||
}
|
||||
|
||||
SystemExec::~SystemExec ()
|
||||
{
|
||||
terminate ();
|
||||
|
Loading…
Reference in New Issue
Block a user