XML::SAX::ExpatXS thread protection
This commit is contained in:
parent
4e42db2981
commit
32ad249024
|
@ -177,6 +177,7 @@ sub data_consumer ($$) {
|
||||||
my $agent_name = $1;
|
my $agent_name = $1;
|
||||||
my $file_name = $pa_config->{'incomingdir'};
|
my $file_name = $pa_config->{'incomingdir'};
|
||||||
my $xml_err;
|
my $xml_err;
|
||||||
|
my $error;
|
||||||
|
|
||||||
# Fix path
|
# Fix path
|
||||||
$file_name .= "/" unless (substr ($file_name, -1, 1) eq '/');
|
$file_name .= "/" unless (substr ($file_name, -1, 1) eq '/');
|
||||||
|
@ -208,10 +209,15 @@ sub data_consumer ($$) {
|
||||||
};
|
};
|
||||||
|
|
||||||
# Invalid XML
|
# Invalid XML
|
||||||
if ($@ || ref($xml_data) ne 'HASH') {
|
if ($@) {
|
||||||
|
$error = 1;
|
||||||
if ($XML::Simple::PREFERRED_PARSER eq 'XML::SAX::ExpatXS') {
|
if ($XML::Simple::PREFERRED_PARSER eq 'XML::SAX::ExpatXS') {
|
||||||
$XMLinSem->up();
|
$XMLinSem->up();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($error || ref($xml_data) ne 'HASH') {
|
||||||
|
|
||||||
if ($@) {
|
if ($@) {
|
||||||
$xml_err = $@;
|
$xml_err = $@;
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue