4 #include "externalaction.h"
9 int ExternalAction::check()
11 if(builder.get_dry_run())
21 if(waitpid(pid, &status, WNOHANG)==pid)
25 exit_code=WEXITSTATUS(status);
34 void ExternalAction::launch()
36 if(builder.get_verbose()>=2)
38 for(list<string>::const_iterator i=argv.begin(); i!=argv.end(); ++i)
47 if(builder.get_dry_run())
54 char *argv_[argv.size()+1];
55 for(CountingIterator<string, list<string>::iterator> i=argv.begin(); i!=argv.end(); ++i)
56 argv_[i.count()]=strdup(i->c_str());
58 execvp(argv_[0], argv_);