… | |
… | |
4056 | $DB_ENV->set_flags (&BDB::LOG_AUTOREMOVE ) if BDB::VERSION v0, v4.7; |
4056 | $DB_ENV->set_flags (&BDB::LOG_AUTOREMOVE ) if BDB::VERSION v0, v4.7; |
4057 | $DB_ENV->log_set_config (&BDB::LOG_AUTO_REMOVE) if BDB::VERSION v4.7; |
4057 | $DB_ENV->log_set_config (&BDB::LOG_AUTO_REMOVE) if BDB::VERSION v4.7; |
4058 | $DB_ENV->set_timeout (30, BDB::SET_TXN_TIMEOUT); |
4058 | $DB_ENV->set_timeout (30, BDB::SET_TXN_TIMEOUT); |
4059 | $DB_ENV->set_timeout (30, BDB::SET_LOCK_TIMEOUT); |
4059 | $DB_ENV->set_timeout (30, BDB::SET_LOCK_TIMEOUT); |
4060 | |
4060 | |
|
|
4061 | (Coro::async { # async to keep sync_job from complaining |
4061 | cf::sync_job { |
4062 | cf::sync_job { |
4062 | eval { |
4063 | eval { |
4063 | BDB::db_env_open |
4064 | BDB::db_env_open |
4064 | $DB_ENV, |
4065 | $DB_ENV, |
4065 | $BDBDIR, |
4066 | $BDBDIR, |
4066 | BDB::INIT_LOCK | BDB::INIT_LOG | BDB::INIT_MPOOL | BDB::INIT_TXN |
4067 | BDB::INIT_LOCK | BDB::INIT_LOG | BDB::INIT_MPOOL | BDB::INIT_TXN |
4067 | | BDB::RECOVER | BDB::REGISTER | BDB::USE_ENVIRON | BDB::CREATE, |
4068 | | BDB::RECOVER | BDB::REGISTER | BDB::USE_ENVIRON | BDB::CREATE, |
4068 | 0666; |
4069 | 0666; |
4069 | |
4070 | |
4070 | cf::cleanup "db_env_open($BDBDIR): $!" if $!; |
4071 | cf::cleanup "db_env_open($BDBDIR): $!" if $!; |
|
|
4072 | }; |
|
|
4073 | |
|
|
4074 | cf::cleanup "db_env_open(db): $@" if $@; |
4071 | }; |
4075 | }; |
4072 | |
4076 | })->join; |
4073 | cf::cleanup "db_env_open(db): $@" if $@; |
|
|
4074 | }; |
|
|
4075 | } |
4077 | } |
4076 | |
4078 | |
4077 | $BDB_DEADLOCK_WATCHER = EV::periodic 0, 3, 0, sub { |
4079 | $BDB_DEADLOCK_WATCHER = EV::periodic 0, 3, 0, sub { |
4078 | BDB::db_env_lock_detect $DB_ENV, 0, BDB::LOCK_DEFAULT, 0, sub { }; |
4080 | BDB::db_env_lock_detect $DB_ENV, 0, BDB::LOCK_DEFAULT, 0, sub { }; |
4079 | }; |
4081 | }; |