--- deliantra/server/ext/map-random.ext 2007/04/21 17:34:24 1.15 +++ deliantra/server/ext/map-random.ext 2007/11/14 08:09:46 1.18 @@ -1,4 +1,4 @@ -#! perl # MANDATORY +#! perl # mandatory cf::map->register (qr{^\?random/([0-9a-f]{32})}); @@ -59,39 +59,26 @@ or return; my $META_TIMEOUT = $cf::CFG{map_random_meta_timeout} || 86400 * 7; - my $MAP_TIMEOUT = $cf::CFG{map_random_map_timeout} || 3600 * 6; for my $file (@$files) { - next if $file =~ /\.pst$/; + next unless $file =~ /\.meta$/; Coro::AIO::aio_stat "$cf::RANDOMDIR/$file" and next; my $age = $cf::NOW - (stat _)[8]; - if ($file =~ /\.meta$/) { - if ($age > $META_TIMEOUT) { - warn "resetting random meta data for $file"; - IO::AIO::aio_unlink "$cf::RANDOMDIR/$file"; - } - } else { - if ($age > $MAP_TIMEOUT) { - warn "resetting random map $file"; - IO::AIO::aioreq_pri 4; IO::AIO::aio_unlink "$cf::RANDOMDIR/$file"; - IO::AIO::aioreq_pri 4; IO::AIO::aio_unlink "$cf::RANDOMDIR/$file.pst"; - } + if ($age > $META_TIMEOUT) { + warn "resetting random meta data for $file"; + IO::AIO::aio_unlink "$cf::RANDOMDIR/$file"; } } } # clean up old temp maps regularly -Event->timer ( - reentrant => 0, - data => cf::WF_AUTOCANCEL, - interval => 3600, - after => 60, - cb => Coro::unblock_sub { clean_random_maps }, -); +our $CLEAN_RANDOM_MAPS = cf::periodic 3600, Coro::unblock_sub { + clean_random_maps; +}; # map generator stresstest, never enable under normal circumstances if (0) {