/** Shuts down the auto provision thread. Does nothing if it is not running. */ public static synchronized void shutdown() { synchronized (THREAD_CONTROL_LOCK) { if (autoProvThread != null) { ZimbraLog.autoprov.info("Shutting down auto provision thread"); autoProvThread.requestShutdown(); autoProvThread.interrupt(); autoProvThread = null; } else { ZimbraLog.autoprov.debug("shutdown() called, but auto provision thread is not running."); } } }