]> pd.if.org Git - newsd/blobdiff - Net-Server-NNTP/lib/Net/Server/NNTP.pm
Improved robustness of server startup
[newsd] / Net-Server-NNTP / lib / Net / Server / NNTP.pm
index 3b6eb21eb4fd7d4cec4e78515741b321e6adeab2..bcc881f09c0a25d33fa03c099e4c891db19bcb54 100644 (file)
@@ -1108,10 +1108,20 @@ sub connect_to_storage {
 
        # TODO use a config parameter optionally here
        my $dsn = $ENV{'DBI_DSN'};
-       $dsn = 'dbi:Pg:dbname=news' unless defined $dsn;
+       $dsn = qq{dbi:Pg:dbname=news} unless defined $dsn;
        $s->log(4, "connecting to $dsn");
 
-       $s->{db} = DBI->connect($dsn,'','',{AutoCommit => 0,RaiseError=>1});
+       eval {
+               $s->{db} = DBI->connect($dsn,'','',{AutoCommit => 0,RaiseError=>1});
+               $s->log(4, "Can't connect to DB: $DBI::errstr") unless $s->{db};
+       };
+       if ($@) {
+               $s->log(4, "Can't connect to DB: $DBI::errstr");
+               die $@;
+       }
+       $s->log(4, "connected to $dsn");
+
+       # TODO abort if can't connect
        $s->{db}->{PrintError} = 0;
 
        $s->{db}->do("set CLIENT_ENCODING to 'SQL_ASCII'");