From: adam Date: Sun, 21 Jan 2007 23:19:09 +0000 (+0000) Subject: support for filesystem-based restart X-Git-Url: http://git.megacz.com/?p=org.ibex.mail.git;a=commitdiff_plain;h=5411caaf7161d1904eed4e9b3aa776920bd8671d support for filesystem-based restart darcs-hash:20070121231909-5007d-61a2f85a9b90cec7dc34472a50668912e776b27b.gz --- diff --git a/src/org/ibex/mail/Main.java b/src/org/ibex/mail/Main.java index e4971ed..0638a33 100644 --- a/src/org/ibex/mail/Main.java +++ b/src/org/ibex/mail/Main.java @@ -18,6 +18,10 @@ import org.ibex.jetty.*; public class Main implements Listener { public static void main(String[] s) throws Exception { + try { + File f = new File(Mailbox.STORAGE_ROOT + "/restart"); + if (f.exists()) f.delete(); + } catch (Exception e) { Log.error(Main.class, e); } new Main().main(); } @@ -25,6 +29,20 @@ public class Main implements Listener { ServerSocket sock143 = new ServerSocket(143); ServerSocket sock119 = new ServerSocket(119); ServerSocket sock25 = new ServerSocket(25); + new Thread() { + public void run() { + while(true) { + try { Thread.sleep(500); } catch (Exception e) { } + try { + File f = new File(Mailbox.STORAGE_ROOT + "/restart"); + if (f.exists()) { + Log.error("RESTART", "restarting..."); + System.exit(0); + } + } catch (Exception e) { Log.error(this, e); } + } + } + }.start(); new Acceptor(sock143).start(); new Acceptor(sock119).start(); new Acceptor(sock25).start();