public void close()

in taverna-server-webapp/src/main/java/org/apache/taverna/server/master/localworker/IdAwareForkRunFactory.java [419:456]


	public void close() throws IOException, InterruptedException {
		try {
			if (process != null) {
				log.info("about to close down subprocess");
				channel.close();
				int code = -1;
				try {
					try {
						code = process.exitValue();
						log.info("secure-fork process already dead?");
					} catch (IllegalThreadStateException e) {
						try {
							code = process.waitFor();
						} catch (InterruptedException e1) {
							log.info("interrupted waiting for natural death of secure-fork process?!");
							process.destroy();
							code = process.waitFor();
						}
					}
				} finally {
					lastExitCode = code;
					if (code > 128) {
						log.info("secure-fork process died with signal="
								+ (code - 128));
					} else if (code >= 0) {
						log.info("secure-fork process killed: code=" + code);
					} else {
						log.warn("secure-fork process not yet dead");
					}
				}
			}
		} finally {
			process = null;
			channel = null;
			out.stop();
			err.stop();
		}
	}