/*
* Empire - A multi-player, client/server Internet based war game.
- * Copyright (C) 1986-2004, Dave Pare, Jeff Bailey, Thomas Ruschak,
+ * Copyright (C) 1986-2008, Dave Pare, Jeff Bailey, Thomas Ruschak,
* Ken Stevens, Steve McClure
*
* This program is free software; you can redistribute it and/or modify
*
* ---
*
- * See the "LEGAL", "LICENSE", "CREDITS" and "README" files for all the
- * related information and legal notices. It is expected that any future
- * projects/authors will amend these files as needed.
+ * 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.
*
* ---
*
* force.c: Force an update to occur (deity)
- *
+ *
* Known contributors to this file:
* Dave Pare, 1994
+ * Markus Armbruster, 2007
*/
-#include <sys/types.h>
-#include "misc.h"
-#include "player.h"
-#include "empthread.h"
+#include <config.h>
+
#include "commands.h"
+#include "game.h"
#include "server.h"
int
force(void)
{
- int seconds;
- time_t now;
-
- if (update_pending) {
- pr("Update is pending\n");
- return RET_FAIL;
- }
if (shutdown_pending) {
pr("Shutdown is pending\n");
return RET_FAIL;
pr("Updates are disabled\n");
return RET_FAIL;
}
- seconds = onearg(player->argp[1], "Time until update [in seconds]? ");
- if (seconds < 0)
+ if (update_trigger() < 0)
return RET_FAIL;
- if (seconds) {
- time(&now);
- pr("Waiting %d seconds...\n", seconds);
- empth_sleep(now + seconds);
- }
- pr("Scheduling update now\n");
- empth_sem_signal(update_sem);
return RET_OK;
}