}
public void run()
{
Context context = _context;
Any callable = _callable;
Any[] parameters = _parameters;
if (context != null && callable != null && parameters != null) {
context.join(Thread.currentThread());
try {
context.log().info("Executing function: "+_callable);
Any rv = _callable.execute(context, parameters);
context.log().info("Function "+_callable+" exited, return value: "+rv);
} catch (ExitException e) {
context.log().info("Explicit thread termination, exit value: "+e.getExitValue());
} catch (ScriptException e) {
context.log().info("Uncaught exception\n" + e.getData());
} catch (Throwable t) {
context.log().info("Uncaught exception", t);
}
}
clear();
}