package org.radargun;
import org.radargun.logging.Log;
import org.radargun.logging.LogFactory;
/**
* Used to exit the whole process and log crashes.
*
* @author Mircea Markus <Mircea.Markus@jboss.com>
*/
public class ShutDownHook extends Thread {
private static Log log = LogFactory.getLog(ShutDownHook.class);
private static volatile boolean controlled = false;
private String processDescription;
public ShutDownHook(String processDescription) {
this.processDescription = processDescription;
}
@Override
public void run() {
if (controlled) {
log.info(processDescription + " is being shutdown");
} else {
log.warn(processDescription + ": unexpected shutdown!");
}
}
public static void exit(int code) {
controlled = true;
System.exit(code);
}
}