Fix error 'send: Cannot determine peer address'
This commit is contained in:
parent
65506b29f8
commit
d920c1fca9
|
@ -528,10 +528,7 @@ sub run {
|
|||
|
||||
$self->{logger}->writeLogInfo("response = $data_element");
|
||||
$data_element =~ s/^.*?\|//;
|
||||
${$self->{sockets}->{$id}->{obj}}->send($data_element . "\n");
|
||||
$self->{read_select}->remove(${$self->{sockets}->{$id}->{obj}});
|
||||
close ${$self->{sockets}->{$id}->{obj}};
|
||||
delete $self->{sockets}->{$id};
|
||||
centreon::esxd::common::response_client2($self, $id, $data_element . "\n");
|
||||
} else {
|
||||
# Socket
|
||||
my $line = <$rh>;
|
||||
|
@ -570,10 +567,7 @@ sub run {
|
|||
foreach (keys %{$self->{sockets}}) {
|
||||
if (time() - $self->{sockets}->{$_}->{ctime} > $self->{centreonesxd_config}->{timeout}) {
|
||||
$self->{logger}->writeLogInfo("Timeout returns.");
|
||||
${$self->{sockets}->{$_}->{obj}}->send("3|TIMEOUT\n");
|
||||
$self->{read_select}->remove(${$self->{sockets}->{$_}->{obj}});
|
||||
close ${$self->{sockets}->{$_}->{obj}};
|
||||
delete $self->{sockets}->{$_};
|
||||
centreon::esxd::common::response_client2($self, $_, "3|TIMEOUT\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,12 +24,28 @@ sub get_status {
|
|||
return $ERRORS{$MYERRORS{$state}};
|
||||
}
|
||||
|
||||
sub response_client2 {
|
||||
my ($obj_esxd, $id, $msg) = @_;
|
||||
|
||||
# Avoid croak kill. Can be happened (not often)
|
||||
eval {
|
||||
${$obj_esxd->{sockets}->{$id}->{obj}}->send($msg);
|
||||
};
|
||||
$obj_esxd->{read_select}->remove(${$obj_esxd->{sockets}->{$id}->{obj}});
|
||||
close ${$obj_esxd->{sockets}->{$id}->{obj}};
|
||||
delete $obj_esxd->{sockets}->{$id};
|
||||
}
|
||||
|
||||
sub response_client1 {
|
||||
my ($obj_esxd, $rh, $current_fileno, $msg) = @_;
|
||||
$rh->send($msg);
|
||||
delete $obj_esxd->{sockets}->{$current_fileno};
|
||||
|
||||
# Avoid croak kill. Can be happened (not often)
|
||||
eval {
|
||||
$rh->send($msg);
|
||||
};
|
||||
$obj_esxd->{read_select}->remove($rh);
|
||||
close $rh;
|
||||
delete $obj_esxd->{sockets}->{$current_fileno};
|
||||
}
|
||||
|
||||
sub vmware_error {
|
||||
|
|
Loading…
Reference in New Issue