ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/lib/cf.pm
(Generate patch)

Comparing deliantra/server/lib/cf.pm (file contents):
Revision 1.60 by root, Thu Aug 31 06:23:19 2006 UTC vs.
Revision 1.61 by root, Sun Sep 3 22:45:56 2006 UTC

509} 509}
510 510
511sub object_thawer_load { 511sub object_thawer_load {
512 my ($filename) = @_; 512 my ($filename) = @_;
513 513
514 local $/;
515
516 my $av;
517
518 #TODO: use sysread etc.
519 if (open my $data, "<:raw:perlio", $filename) {
520 $data = <$data>;
514 open my $fh, "<:raw:perlio", "$filename.pst" 521 if (open my $pst, "<:raw:perlio", "$filename.pst") {
515 or return; 522 $av = eval { (Storable::thaw <$pst>)->{objs} };
523 }
524 return ($data, $av);
525 }
516 526
517 eval { local $/; (Storable::thaw <$fh>)->{objs} } 527 ()
518} 528}
519 529
520attach_to_objects 530attach_to_objects
521 prio => -1000000, 531 prio => -1000000,
522 on_clone => sub { 532 on_clone => sub {
718 #Symbol::delete_package __PACKAGE__; 728 #Symbol::delete_package __PACKAGE__;
719 729
720 # 7. reload cf.pm 730 # 7. reload cf.pm
721 $msg->("reloading cf.pm"); 731 $msg->("reloading cf.pm");
722 require cf; 732 require cf;
733
734 $msg->("load extensions");
735 cf::load_extensions;
723 }; 736 };
724 $msg->($@) if $@; 737 $msg->($@) if $@;
725 738
726 $msg->("reloaded"); 739 $msg->("reloaded");
727}; 740};
918 931
919############################################################################# 932#############################################################################
920# the server's main() 933# the server's main()
921 934
922sub main { 935sub main {
936 load_extensions;
923 Event::loop; 937 Event::loop;
924} 938}
925 939
926############################################################################# 940#############################################################################
927# initialisation 941# initialisation
928 942
929register "<global>", __PACKAGE__; 943register "<global>", __PACKAGE__;
930 944
931unshift @INC, $LIBDIR; 945unshift @INC, $LIBDIR;
932
933load_extensions;
934 946
935$TICK_WATCHER = Event->timer ( 947$TICK_WATCHER = Event->timer (
936 prio => 1, 948 prio => 1,
937 at => $NEXT_TICK || 1, 949 at => $NEXT_TICK || 1,
938 cb => sub { 950 cb => sub {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines