]> git.pond.sub.org Git - empserver/commitdiff
(relo): New command.
authorMarkus Armbruster <armbru@pond.sub.org>
Fri, 13 Jul 2007 06:04:03 +0000 (06:04 +0000)
committerMarkus Armbruster <armbru@pond.sub.org>
Fri, 13 Jul 2007 06:04:03 +0000 (06:04 +0000)
include/prototypes.h
info/force.t
info/reload.t [new file with mode: 0644]
src/lib/commands/relo.c [new file with mode: 0644]
src/lib/player/empmod.c

index 97e176a070ba3dabe913dfced8d6ce254af17828..72ddaaa81f8e8945ea93505ee6e3e6d257ffcce9 100644 (file)
@@ -196,6 +196,7 @@ int real(void);
 int reco(void);
 int reje(void);
 int rela(void);
+int relo(void);
 int repa(void);
 int repo(void);
 int rese(void);
index 085a08bc0ea2c7c3d60b06fc3e3eac9b3d961065..8b98689da29ba810c80e7c4aa27003e36f45bbe4 100644 (file)
@@ -3,4 +3,4 @@
 .LV Expert
 .SY "force"
 Force an update now.
-.SA "enable, disable, shutdown, Deity"
+.SA "enable, disable, reload, shutdown, Deity"
diff --git a/info/reload.t b/info/reload.t
new file mode 100644 (file)
index 0000000..62e0ed1
--- /dev/null
@@ -0,0 +1,7 @@
+.TH Command RELOAD
+.NA reload "Reload server configuration and reopen log files"
+.LV Expert
+.SY "reload"
+Reload server configuration and reopen log files.  This allows proper
+log rotation.  Only the update schedule is reloaded at this time.
+.SA "enable, disable, force, shutdown, Deity"
diff --git a/src/lib/commands/relo.c b/src/lib/commands/relo.c
new file mode 100644 (file)
index 0000000..4a21ba4
--- /dev/null
@@ -0,0 +1,58 @@
+/*
+ *  Empire - A multi-player, client/server Internet based war game.
+ *  Copyright (C) 1986-2007, Dave Pare, Jeff Bailey, Thomas Ruschak,
+ *                           Ken Stevens, Steve McClure
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ *  ---
+ *
+ *  See files README, COPYING and CREDITS in the root of the source
+ *  tree for related information and legal notices.  It is expected
+ *  that future projects/authors will amend these files as needed.
+ *
+ *  ---
+ *
+ *  relo.c: Re-read (some) configuration files
+ * 
+ *  Known contributors to this file:
+ *     Markus Armbruster, 2007
+ */
+
+#include <config.h>
+
+#include "commands.h"
+#include "journal.h"
+#include "server.h"
+
+int
+relo(void)
+{
+    /*
+     * Like SIGHUP, plus friendly chatter.  If you change anything
+     * here, also update the code that handles SIGHUP!
+     */
+
+    if (journal_reopen() < 0) {
+       pr("Can't reopen journal");
+       return RET_SYS;
+    }
+    pr("Journal reopened.\n");
+
+    update_reschedule();
+    pr("Reload of update schedule requested.\n");
+
+    return RET_OK;
+}
index c5ce6cd66f41e8683e69439f8bc05ab4842ce733..341df73d4045b7f8b45582f1b90e5dc2a5bdfb83 100644 (file)
@@ -204,6 +204,7 @@ struct cmndstr player_coms[] = {
     {"reject <reject|accept> <announcements|mail|treaties|loans> <NAT>",
      2, reje, C_MOD, NORM},
     {"relations  [as-COUNTRY]", 0, rela, 0, VIS},
+    {"reload", 0, relo, C_MOD, GOD},
     {"repay <LOAN> <NUM>", 1, repa, C_MOD, NORM + MONEY + CAP},
     {"report <NATS>", 0, repo, 0, VIS},
     {"reset <lot #> <0|price>", 1, rese, C_MOD, NORM + CAP},