]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
perl-Skinny: don't launch thread if socket can't be created
authorMathieu Parent <math.parent@gmail.com>
Mon, 10 May 2010 16:06:26 +0000 (18:06 +0200)
committerMathieu Parent <math.parent@gmail.com>
Mon, 10 May 2010 16:19:58 +0000 (18:19 +0200)
src/mod/endpoints/mod_skinny/Net/Skinny/Client.pm

index ee063cc911b2f533325a0c47ab58114cf57d74d0..6d5c87a2927b0b723d6f5032f4248ff7eef0daeb 100644 (file)
@@ -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());
        }
 }