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.409 by root, Mon Jan 14 11:41:48 2008 UTC vs.
Revision 1.411 by root, Fri Feb 1 15:54:07 2008 UTC

192 LOG llevError, $msg; 192 LOG llevError, $msg;
193 }; 193 };
194} 194}
195 195
196$Coro::State::DIEHOOK = sub { 196$Coro::State::DIEHOOK = sub {
197 return unless $^S eq 0; # "eq", not "=="
198
199 if ($Coro::current == $Coro::main) {#d#
200 warn "DIEHOOK called in main context, Coro bug?\n";#d#
201 return;#d#
202 }#d#
203
204 # kill coroutine otherwise
197 warn Carp::longmess $_[0]; 205 warn Carp::longmess $_[0];
198 Coro::terminate; 206 Coro::terminate
199}; 207};
208
209$SIG{__DIE__} = sub { }; #d#?
200 210
201@safe::cf::global::ISA = @cf::global::ISA = 'cf::attachable'; 211@safe::cf::global::ISA = @cf::global::ISA = 'cf::attachable';
202@safe::cf::object::ISA = @cf::object::ISA = 'cf::attachable'; 212@safe::cf::object::ISA = @cf::object::ISA = 'cf::attachable';
203@safe::cf::player::ISA = @cf::player::ISA = 'cf::attachable'; 213@safe::cf::player::ISA = @cf::player::ISA = 'cf::attachable';
204@safe::cf::client::ISA = @cf::client::ISA = 'cf::attachable'; 214@safe::cf::client::ISA = @cf::client::ISA = 'cf::attachable';
1306 my $msg = $@ ? "$v->{path}: $@\n" 1316 my $msg = $@ ? "$v->{path}: $@\n"
1307 : "$v->{base}: extension inactive.\n"; 1317 : "$v->{base}: extension inactive.\n";
1308 1318
1309 if (exists $v->{meta}{mandatory}) { 1319 if (exists $v->{meta}{mandatory}) {
1310 warn $msg; 1320 warn $msg;
1311 warn "mandatory extension failed to load, exiting.\n"; 1321 cf::cleanup "mandatory extension failed to load, exiting.";
1312 exit 1;
1313 } 1322 }
1314 1323
1315 warn $msg; 1324 warn $msg;
1316 } 1325 }
1317 1326
3548 warn "leaving sync_job"; 3557 warn "leaving sync_job";
3549 3558
3550 1 3559 1
3551 } or do { 3560 } or do {
3552 warn $@; 3561 warn $@;
3553 warn "error while reloading, exiting."; 3562 cf::cleanup "error while reloading, exiting.";
3554 exit 1;
3555 }; 3563 };
3556 3564
3557 warn "reloaded"; 3565 warn "reloaded";
3558}; 3566};
3559 3567

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines