… | |
… | |
363 | eval { |
363 | eval { |
364 | if ($pl->{last_save} + $SAVE_TIMEOUT <= $cf::RUNTIME) { |
364 | if ($pl->{last_save} + $SAVE_TIMEOUT <= $cf::RUNTIME) { |
365 | $pl->save; |
365 | $pl->save; |
366 | Coro::Timer::sleep $SAVE_INTERVAL; |
366 | Coro::Timer::sleep $SAVE_INTERVAL; |
367 | } |
367 | } |
|
|
368 | my $ob = $pl->ob; |
|
|
369 | Scalar::Util::weaken $pl; # 2 == from object + from perl |
|
|
370 | Scalar::Util::weaken $ob; # 2 == one from being an object + ??? |
|
|
371 | my $a_ = $pl->refcnt; |
|
|
372 | my $b_ = $ob->refcnt; |
|
|
373 | my $a = $pl->refcnt_cnt; |
|
|
374 | my $b = $ob->refcnt_cnt; |
|
|
375 | warn "rc $a,$a_ $b,$b_\n";#d# |
368 | }; |
376 | }; |
369 | warn $@ if $@; |
377 | warn $@ if $@; |
370 | Coro::cede; |
378 | Coro::cede; |
371 | }; |
379 | }; |
372 | } |
380 | } |
373 | }; |
381 | }; |
374 | |
382 | |
|
|
383 | cf::player::find "schmorp";#d# |
|
|
384 | |
375 | $SCHEDULER->prio (1); |
385 | $SCHEDULER->prio (1); |
376 | |
386 | |