Exemplo n.º 1
0
 /**
  * Abort the application and wait for it to finish.
  *
  * @param t the exception that signalled the problem
  * @throws IOException A wrapper around the exception that was passed in
  */
 void abort(Throwable t) throws IOException {
   LOG.info("Aborting because of " + StringUtils.stringifyException(t));
   try {
     downlink.abort();
     downlink.flush();
   } catch (IOException e) {
     // IGNORE cleanup problems
   }
   try {
     handler.waitForFinish();
   } catch (Throwable ignored) {
     process.destroy();
   }
   IOException wrapper = new IOException("pipe child exception");
   wrapper.initCause(t);
   throw wrapper;
 }
Exemplo n.º 2
0
 /**
  * Wait for the application to finish
  *
  * @return did the application finish correctly?
  * @throws Throwable
  */
 boolean waitForFinish() throws Throwable {
   downlink.flush();
   return handler.waitForFinish();
 }