]> git.pond.sub.org Git - empserver/commit
New update scheduler:
authorMarkus Armbruster <armbru@pond.sub.org>
Wed, 11 Jul 2007 22:27:29 +0000 (22:27 +0000)
committerMarkus Armbruster <armbru@pond.sub.org>
Wed, 11 Jul 2007 22:27:29 +0000 (22:27 +0000)
commit71320ed67fda6360a46d51638bf4f1d8933cd68c
tree874485118c6b8035a069c0c85973001d483380f2
parent15f8f48353e542de259ec1f4a52f6ef82dd3637f
New update scheduler:
(schedulefil): New.
(set_dirs, set_paths): Rename.  Initialize schedulfil.
(read_schedule): New.  Can read several updates, which will be used in
later changesets.
(update_time): Change to array.  Will be used in later changesets.
(update_schedule_anchor): New.
(update_init): Initialize it.
(update_get_schedule): New.
(update_init): Call it to initialize update_time[].
(update_sched): Rewrite.
(update_forced, update_wanted): Replace.
(update_reschedule): New.
(main): Call it on SIGHUP to reload the schedule.
(update_trigger, update_force, force, player_coms): Drop force's
capability to schedule updates in the future, because it's not worth
the trouble to implement again.  Deities can simply edit the schedule
file to schedule updates.  Remove update_force() and
update_trigger()'s parameter.
(upda): Update for new scheduler.  Take care to keep output the same
as far as possible, even though it's ugly, to avoid breaking clients.
(update_policy, adj_update, update_times, hourslop, blitz_time):
econfig keys removed.
(update_demand, UPD_DEMAND_NONE, UPD_DEMAND_SCHED, UPD_DEMAND_ASYNC)
(update_demandpolicy, UDP_NORMAL, UDP_TIMES, UDP_NORMAL, UDP_BLITZ)
(UDP_MAX, UDP_DEFAULT, UDDEM_TMCHECK, UDDEM_COMSET, UDDEM_DISABLE)
(UDDEM_MAX, UDDEM_DEFAULT): econfig key and values replaced.  Users
changed.  wantupd.h is now empty, remove.
(demand_check): External linkage.
(update_policy_check): Now pointless, remove.
(is_daytime_near, min_to_next_daytime, regular_update_time)
(scheduled_update_time, next_scheduled_time, updatetime)
(next_update_time, next_update_check_time): Unused, Remove.

(demand_check, demandupdatecheck): Move call of demand_update_time()
from demand_check(), which controls all demand updates, to
demandupdatecheck(), which controls only unscheduled ones.  Fixes
update command not to lie about the next scheduled demand update.

(demandupdatecheck): Check updates_disabled() so that zdone no longer
claims to trigger an update when it can't.
20 files changed:
include/econfig-spec.h
include/optlist.h
include/prototypes.h
include/server.h
include/wantupd.h [deleted file]
info/force.t
man/emp_server.6
src/lib/commands/forc.c
src/lib/commands/upda.c
src/lib/commands/zdon.c
src/lib/common/hours.c
src/lib/common/rdsched.c [new file with mode: 0644]
src/lib/common/wantupd.c
src/lib/gen/emp_config.c
src/lib/global/constants.c
src/lib/global/path.c.in
src/lib/player/empmod.c
src/lib/update/main.c
src/server/main.c
src/server/update.c