X-Git-Url: http://git.rot13.org/?p=perl-cwmp.git;a=blobdiff_plain;f=lib%2FCWMP%2FServer.pm;h=12d8702dffc078c2006f3213bcd6419ee6a90485;hp=381e2551724a305a9783a96dcbc43fc7025f6c10;hb=eccf2bab1ad1409875d7b9025768abad8ed955e4;hpb=64c892a490a72e2410adf79b4ecd375a35f3032b diff --git a/lib/CWMP/Server.pm b/lib/CWMP/Server.pm index 381e255..12d8702 100644 --- a/lib/CWMP/Server.pm +++ b/lib/CWMP/Server.pm @@ -30,7 +30,10 @@ CWMP::Server - description my $server = CWMP::Server->new({ port => 3333, - store => 'state.db', + store => { + module => 'DBMDeep', + path => 'var/', + }, default_queue => [ qw/GetRPCMethods GetParameterNames/ ], background => 1, debug => 1 @@ -137,15 +140,21 @@ sub process_request { warn "default CPE queue ( " . join(",",@{$prop->{default_queue}}) . " )\n" if defined($prop->{default_queue}); - my $session = CWMP::Session->new({ - sock => $sock, - queue => $prop->{default_queue}, - store => $prop->{store}, - debug => $prop->{debug}, - }) || confess "can't create session"; - - while ( $session->process_request ) { - warn "...another one bites the dust...\n"; + eval { + my $session = CWMP::Session->new({ + sock => $sock, + queue => $prop->{default_queue}, + store => $prop->{store}, + debug => $prop->{debug}, + }) || confess "can't create session"; + + while ( $session->process_request ) { + warn "...another one bites the dust...\n"; + } + }; + + if ($@) { + warn $@; } warn "...returning to accepting new connections\n";