my $env = new BerkeleyDB::Env -Flags => DB_CREATE | DB_INIT_CDB |DB_INIT_MPOOL,
-Home => '/etc/postfix/policydb';
my (%domains);
my $db = tie %domains,"BerkeleyDB::Hash",
-Filename=> DOMAIN_FILE,
-Flags=> DB_CREATE,
-Mode => 0660,
-Env=> $env
or syslog 'error', "Can't open DB_File ". DOMAIN_FILE .": $!";
####
return $domains{$domain} if ($domains{$domain});
####
# Add to the berkeleydb unless some other process has already done it
unless($domains{$domain}) {
my $lock=$db->cds_lock();
$domains{$domain}=$return;
$db->db_sync();
$lock->cds_unlock();
}