--- deliantra/server/lib/cf.pm 2006/08/31 06:23:19 1.60 +++ deliantra/server/lib/cf.pm 2006/09/03 22:45:56 1.61 @@ -511,10 +511,20 @@ sub object_thawer_load { my ($filename) = @_; - open my $fh, "<:raw:perlio", "$filename.pst" - or return; + local $/; + + my $av; - eval { local $/; (Storable::thaw <$fh>)->{objs} } + #TODO: use sysread etc. + if (open my $data, "<:raw:perlio", $filename) { + $data = <$data>; + if (open my $pst, "<:raw:perlio", "$filename.pst") { + $av = eval { (Storable::thaw <$pst>)->{objs} }; + } + return ($data, $av); + } + + () } attach_to_objects @@ -720,6 +730,9 @@ # 7. reload cf.pm $msg->("reloading cf.pm"); require cf; + + $msg->("load extensions"); + cf::load_extensions; }; $msg->($@) if $@; @@ -920,6 +933,7 @@ # the server's main() sub main { + load_extensions; Event::loop; } @@ -930,8 +944,6 @@ unshift @INC, $LIBDIR; -load_extensions; - $TICK_WATCHER = Event->timer ( prio => 1, at => $NEXT_TICK || 1,