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.370 by root, Thu Sep 13 10:59:41 2007 UTC vs.
Revision 1.371 by root, Thu Sep 13 16:16:01 2007 UTC

80our $NEXT_TICK; 80our $NEXT_TICK;
81our $NOW; 81our $NOW;
82our $USE_FSYNC = 1; # use fsync to write maps - default off 82our $USE_FSYNC = 1; # use fsync to write maps - default off
83 83
84our $BDB_POLL_WATCHER; 84our $BDB_POLL_WATCHER;
85our $BDB_DEADLOCK_WATCHER;
85our $BDB_CHECKPOINT_WATCHER; 86our $BDB_CHECKPOINT_WATCHER;
86our $BDB_TRICKLE_WATCHER; 87our $BDB_TRICKLE_WATCHER;
87our $DB_ENV; 88our $DB_ENV;
88 89
89our %CFG; 90our %CFG;
3543 ) 3544 )
3544 }; 3545 };
3545 3546
3546 unless ($DB_ENV) { 3547 unless ($DB_ENV) {
3547 $DB_ENV = BDB::db_env_create; 3548 $DB_ENV = BDB::db_env_create;
3549 $DB_ENV->set_flags (BDB::AUTO_COMMIT | BDB::REGION_INIT | BDB::TXN_NOSYNC
3550 | BDB::LOG_AUTOREMOVE, 1);
3551 $DB_ENV->set_timeout (30, BDB::SET_TXN_TIMEOUT);
3552 $DB_ENV->set_timeout (30, BDB::SET_LOCK_TIMEOUT);
3548 3553
3549 cf::sync_job { 3554 cf::sync_job {
3550 eval { 3555 eval {
3551 BDB::db_env_open 3556 BDB::db_env_open
3552 $DB_ENV, 3557 $DB_ENV,
3554 BDB::INIT_LOCK | BDB::INIT_LOG | BDB::INIT_MPOOL | BDB::INIT_TXN 3559 BDB::INIT_LOCK | BDB::INIT_LOG | BDB::INIT_MPOOL | BDB::INIT_TXN
3555 | BDB::RECOVER | BDB::REGISTER | BDB::USE_ENVIRON | BDB::CREATE, 3560 | BDB::RECOVER | BDB::REGISTER | BDB::USE_ENVIRON | BDB::CREATE,
3556 0666; 3561 0666;
3557 3562
3558 cf::cleanup "db_env_open($BDBDIR): $!" if $!; 3563 cf::cleanup "db_env_open($BDBDIR): $!" if $!;
3559
3560 $DB_ENV->set_flags (BDB::AUTO_COMMIT | BDB::REGION_INIT | BDB::TXN_NOSYNC
3561 | BDB::LOG_AUTOREMOVE, 1);
3562 $DB_ENV->set_lk_detect;
3563 }; 3564 };
3564 3565
3565 cf::cleanup "db_env_open(db): $@" if $@; 3566 cf::cleanup "db_env_open(db): $@" if $@;
3566 }; 3567 };
3567 } 3568 }
3568 3569
3570 $BDB_DEADLOCK_WATCHER = Event->timer (
3571 after => 3,
3572 interval => 1,
3573 hard => 1,
3574 prio => 0,
3575 data => WF_AUTOCANCEL,
3576 cb => sub {
3577 BDB::db_env_lock_detect $DB_ENV, 0, BDB::LOCK_DEFAULT, 0, sub { };
3578 },
3579 );
3569 $BDB_CHECKPOINT_WATCHER = Event->timer ( 3580 $BDB_CHECKPOINT_WATCHER = Event->timer (
3570 after => 11, 3581 after => 11,
3571 interval => 60, 3582 interval => 60,
3572 hard => 1, 3583 hard => 1,
3573 prio => 0, 3584 prio => 0,

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines