ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/utils/cfutil.in
(Generate patch)

Comparing deliantra/server/utils/cfutil.in (file contents):
Revision 1.68 by root, Mon Jan 14 10:12:13 2008 UTC vs.
Revision 1.70 by root, Fri Dec 5 00:52:44 2008 UTC

12my $OPTIPNG = "@OPTIPNG@"; 12my $OPTIPNG = "@OPTIPNG@";
13my $RSYNC = "@RSYNC@"; 13my $RSYNC = "@RSYNC@";
14my $PNGNQ = "@PNGNQ@"; 14my $PNGNQ = "@PNGNQ@";
15 15
16use Getopt::Long; 16use Getopt::Long;
17use Coro::Event; 17use Coro::EV;
18use AnyEvent; 18use AnyEvent;
19use YAML (); 19use YAML ();
20use JSON::XS (); 20use JSON::XS ();
21use IO::AIO (); 21use IO::AIO ();
22use File::Temp; 22use File::Temp;
23use Deliantra; 23use Deliantra;
24use Coro; 24use Coro 5.12;
25use Coro::AIO; 25use Coro::AIO;
26use Coro::Util; 26use Coro::Util;
27use POSIX (); 27use POSIX ();
28use Carp; 28use Carp;
29use Coro::Channel; 29use Coro::Channel;
67 tan => 12, 67 tan => 12,
68); 68);
69 69
70END { system "rm", "-rf", $TMPDIR } 70END { system "rm", "-rf", $TMPDIR }
71 71
72Event->signal (signal => "INT", cb => sub { exit 1 }); 72my $s_INT = EV::signal INT => sub { exit 1 };
73Event->signal (signal => "TERM", cb => sub { exit 1 }); 73my $s_TERM = EV::signal TERM => sub { exit 1 };
74 74
75mkdir $TMPDIR, 0700 75mkdir $TMPDIR, 0700
76 or die "$TMPDIR: $!"; 76 or die "$TMPDIR: $!";
77 77
78sub fork_sub(&) { 78sub fork_sub(&) {
630 my @a_res = map +(async \&process_res), 1..2; 630 my @a_res = map +(async \&process_res), 1..2;
631 my @a_trs = map +(async \&process_trs), 1..2; 631 my @a_trs = map +(async \&process_trs), 1..2;
632 632
633 IO::AIO::flush; 633 IO::AIO::flush;
634 634
635 $c_res->put (undef) for @a_res; 635 $c_res->shutdown;
636 $c_arc->put (undef) for @a_arc; 636 $c_arc->shutdown;
637 $c_trs->put (undef) for @a_trs; 637 $c_trs->shutdown;
638 638
639 print "start file scan, arc, res processing...\n" if $VERBOSE; 639 print "start file scan, arc, res processing...\n" if $VERBOSE;
640 640
641 $_->join for @a_arc; # need to parse all archetypes before png processing 641 $_->join for @a_arc; # need to parse all archetypes before png processing
642 642
643 print "end arc, start png processing...\n" if $VERBOSE; 643 print "end arc, start png processing...\n" if $VERBOSE;
644 644
645 # four png crunchers work fine for my 2x smp machine 645 # eight png crunchers work fine for my 4x smp machine
646 my @a_png = map +(async \&process_png), 1..4; 646 my @a_png = map +(async \&process_png), 1..8;
647 647
648 $_->join for (@a_trs, @a_res, @a_png); 648 $_->join for (@a_trs, @a_res, @a_png);
649 649
650 print "scanning done, processing results...\n" if $VERBOSE; 650 print "scanning done, processing results...\n" if $VERBOSE;
651 { 651 {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines