public int doStartTag() throws PageException {
return EVAL_BODY_BUFFERED;
}
private void _execute() throws Exception {
Object monitor=new SerializableObject();
String command="";
if(name==null) {
if(StringUtil.isEmpty(body)) {
required("execute", "name", name);
required("execute", "arguments", arguments);
}
else command=body;
}
else {
if(arguments==null)command=name;
else command=name+arguments;
}
_Execute execute=new _Execute(pageContext, monitor, command, outputfile, variable, errorFile, errorVariable);
//if(timeout<=0)execute._run();
//else {
execute.start();
if(timeout>0){
try {
synchronized(monitor) {
monitor.wait(timeout);
}
}
finally {
execute.abort(terminateOnTimeout);
}