X-Git-Url: http://git.rot13.org/?p=perl-cwmp.git;a=blobdiff_plain;f=lib%2FCWMP%2FServer.pm;fp=lib%2FCWMP%2FServer.pm;h=76348065a958d8faf0fdf6ee7837527870a4a42e;hp=381e2551724a305a9783a96dcbc43fc7025f6c10;hb=de7bd7d0d60b42a12a93ba526d97b7ebaa5dcf2e;hpb=64c892a490a72e2410adf79b4ecd375a35f3032b;ds=sidebyside diff --git a/lib/CWMP/Server.pm b/lib/CWMP/Server.pm index 381e255..7634806 100644 --- a/lib/CWMP/Server.pm +++ b/lib/CWMP/Server.pm @@ -137,15 +137,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";