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.50 by root, Mon Aug 28 07:07:42 2006 UTC vs.
Revision 1.51 by root, Mon Aug 28 14:05:24 2006 UTC

385} 385}
386 386
387sub object_freezer_save { 387sub object_freezer_save {
388 my ($filename, $objs) = @_; 388 my ($filename, $objs) = @_;
389 389
390 $filename .= ".pst";
391
392 if (@$objs) { 390 if (@$objs) {
393 open my $fh, ">:raw", "$filename~"; 391 open my $fh, ">:raw", "$filename.pst~";
394 chmod $fh, SAVE_MODE;
395 syswrite $fh, Storable::nfreeze { version => 1, objs => $objs }; 392 syswrite $fh, Storable::nfreeze { version => 1, objs => $objs };
396 close $fh; 393 close $fh;
394 chmod SAVE_MODE, "$filename.pst~";
397 rename "$filename~", $filename; 395 rename "$filename.pst~", "$filename.pst";
398 } else { 396 } else {
399 unlink $filename; 397 unlink "$filename.pst";
400 } 398 }
399
400 chmod SAVE_MODE, "$filename~";
401 rename "$filename~", $filename;
401} 402}
402 403
403sub object_thawer_load { 404sub object_thawer_load {
404 my ($filename) = @_; 405 my ($filename) = @_;
405 406
667 my ($map) = @_; 668 my ($map) = @_;
668 669
669 my $path = $map->tmpname; 670 my $path = $map->tmpname;
670 defined $path or return; 671 defined $path or return;
671 672
672 unlink "$path.cfperl";
673 unlink "$path.pst"; 673 unlink "$path.pst";
674}; 674};
675 675
676# old style persistent data, TODO: remove #d#
676*cf::mapsupport::on_swapin = 677*cf::mapsupport::on_swapin =
677*cf::mapsupport::on_load = sub { 678*cf::mapsupport::on_load = sub {
678 my ($map) = @_; 679 my ($map) = @_;
679 680
680 my $path = $map->tmpname; 681 my $path = $map->tmpname;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines