提交 bd6f7e73 authored 作者: Mathieu Parent's avatar Mathieu Parent

perl-Skinny: don't launch thread if socket can't be created

上级 74e14f0d
...@@ -28,12 +28,14 @@ my $messages_receive_queue; ...@@ -28,12 +28,14 @@ my $messages_receive_queue;
$Config{useithreads} or die('Recompile Perl with threads to run this program.'); $Config{useithreads} or die('Recompile Perl with threads to run this program.');
sub new { sub new {
$kept_self = shift->SUPER::new(@_); $kept_self = shift->SUPER::new(@_);
$messages_send_queue = Thread::Queue->new(); $messages_send_queue = Thread::Queue->new();
$messages_receive_queue = Thread::Queue->new(); $messages_receive_queue = Thread::Queue->new();
threads->create(\&send_messages_thread_func); if ($kept_self) {
threads->create(\&receive_messages_thread_func); threads->create(\&send_messages_thread_func);
return $kept_self; threads->create(\&receive_messages_thread_func);
}
return $kept_self;
} }
sub send_message { sub send_message {
...@@ -87,7 +89,7 @@ sub send_messages_thread_func ...@@ -87,7 +89,7 @@ sub send_messages_thread_func
sub receive_messages_thread_func sub receive_messages_thread_func
{ {
while(1) { while(1) {
$messages_receive_queue->enqueue($kept_self->SUPER::receive_message()); $messages_receive_queue->enqueue($kept_self->SUPER::receive_message());
} }
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论