From bd6f7e73c08827698908123816656a8fabbd6679 Mon Sep 17 00:00:00 2001 From: Mathieu Parent Date: Mon, 10 May 2010 18:06:26 +0200 Subject: [PATCH] perl-Skinny: don't launch thread if socket can't be created --- src/mod/endpoints/mod_skinny/Net/Skinny/Client.pm | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/mod/endpoints/mod_skinny/Net/Skinny/Client.pm b/src/mod/endpoints/mod_skinny/Net/Skinny/Client.pm index ee063cc911..6d5c87a292 100644 --- a/src/mod/endpoints/mod_skinny/Net/Skinny/Client.pm +++ b/src/mod/endpoints/mod_skinny/Net/Skinny/Client.pm @@ -28,12 +28,14 @@ my $messages_receive_queue; $Config{useithreads} or die('Recompile Perl with threads to run this program.'); sub new { - $kept_self = shift->SUPER::new(@_); + $kept_self = shift->SUPER::new(@_); $messages_send_queue = Thread::Queue->new(); $messages_receive_queue = Thread::Queue->new(); - threads->create(\&send_messages_thread_func); - threads->create(\&receive_messages_thread_func); - return $kept_self; + if ($kept_self) { + threads->create(\&send_messages_thread_func); + threads->create(\&receive_messages_thread_func); + } + return $kept_self; } sub send_message { @@ -87,7 +89,7 @@ sub send_messages_thread_func sub receive_messages_thread_func { while(1) { - $messages_receive_queue->enqueue($kept_self->SUPER::receive_message()); + $messages_receive_queue->enqueue($kept_self->SUPER::receive_message()); } }