diff options
author | ivan <ivan> | 2004-06-25 10:25:02 +0000 |
---|---|---|
committer | ivan <ivan> | 2004-06-25 10:25:02 +0000 |
commit | e7acc4af0a47299644ff2389be3991b708878693 (patch) | |
tree | 57e9e0eac903cf04a6d5ec1c9b8dea2cbbdd36cf /FS/FS/UID.pm | |
parent | a78922d1673c7f79658d3b51353b4f63102bc7c8 (diff) |
ping the database and retry rather before doing anything
Diffstat (limited to 'FS/FS/UID.pm')
-rw-r--r-- | FS/FS/UID.pm | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/FS/FS/UID.pm b/FS/FS/UID.pm index 8271f89f2..3d893ee2f 100644 --- a/FS/FS/UID.pm +++ b/FS/FS/UID.pm @@ -16,7 +16,7 @@ use FS::Conf; @ISA = qw(Exporter); @EXPORT_OK = qw(checkeuid checkruid cgisuidsetup adminsuidsetup forksuidsetup - getotaker dbh datasrc getsecrets driver_name ); + getotaker dbh datasrc getsecrets driver_name myconnect ); $freeside_uid = scalar(getpwnam('freeside')); @@ -84,11 +84,8 @@ sub forksuidsetup { $ENV{'BASH_ENV'} = ''; croak "Not running uid freeside!" unless checkeuid(); - getsecrets; - $dbh = DBI->connect($datasrc,$db_user,$db_pass, { - 'AutoCommit' => 0, - 'ChopBlanks' => 1, - } ) or die "DBI->connect error: $DBI::errstr\n"; + + $dbh = &myconnect; foreach ( keys %callback ) { &{$callback{$_}}; @@ -100,6 +97,11 @@ sub forksuidsetup { $dbh; } +sub myconnect { + $dbh = DBI->connect( getsecrets, {'AutoCommit' => 0, 'ChopBlanks' => 1, } ) + or die "DBI->connect error: $DBI::errstr\n"; +} + =item install_callback A package can install a callback to be run in adminsuidsetup by passing |