/*
* Empire - A multi-player, client/server Internet based war game.
- * Copyright (C) 1986-2000, Dave Pare, Jeff Bailey, Thomas Ruschak,
+ * Copyright (C) 1986-2009, 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.
*
* ---
*
* server.h: Server startup, control and shutdown
- *
+ *
* Known contributors to this file:
- * Markus Armbruster, 2004
+ * Markus Armbruster, 2004-2008
*/
#ifndef SERVER_H
#define SERVER_H
+#include "empthread.h"
+
+#define UPDATE_TIME_LEN 16
+
extern int shutdown_pending;
-extern int update_pending;
-extern empth_sem_t *update_sem;
-extern time_t update_time;
-extern int updating_mob;
+extern empth_rwlock_t *play_lock;
+extern int play_wrlock_wanted;
+extern int update_running;
+extern time_t update_time[UPDATE_TIME_LEN];
-void mobility_init(void);
-void shutdown_init(void);
+void market_init(void);
+void update_main(void);
+void update_init(void);
+int update_trigger(void);
+int update_reschedule(void);
+int run_hook(char *, char *);
+int shutdown_initiate(int);
/* thread entry points */
-void delete_lostitems(void *);
-void market_update(void *);
-void mobility_check(void *);
void player_kill_idle(void *);
-void update_main(void *);
-void update_sched(void *);
-void shutdown_sequence(void *);
-#endif SERVER_H
+#endif