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);
36 Starts the external program. Fill in argv before calling this.
38 void ExternalAction::launch()
40 if(builder.get_verbose()>=2)
42 for(StringList::const_iterator i=argv.begin(); i!=argv.end(); ++i)
51 if(builder.get_dry_run())
58 char *argv_[argv.size()+1];
61 for(StringList::iterator i=argv.begin(); i!=argv.end(); ++i)
62 argv_[j++]=strdup(i->c_str());
65 execvp(argv_[0], argv_);
66 cout<<"Couldn't execute "<<argv.front()<<'\n';