diff --git a/xCAT/postscripts/startsyncfiles.aix b/xCAT/postscripts/startsyncfiles.aix index 10b1be39f..d42eaaf78 100644 --- a/xCAT/postscripts/startsyncfiles.aix +++ b/xCAT/postscripts/startsyncfiles.aix @@ -31,18 +31,20 @@ print $remote "\n"; my $response=''; my $rsp; +my $rc; while (<$remote>) { $response .= $_; if ($response =~ m/<\/xcatresponse>/) { $rsp = eval { XMLin($response,SuppressEmpty=>undef,ForceArray=>1) }; if ($rsp->{serverdone}) { close $remote; - exit 1; + exit !$rc; } - if ($rsp->{errorcode} || $rsp->{error}) { - close $remote; - exit 0; + if ($rsp->{errorcode}) { + $rc = $rsp->{errorcode}[0]; + } elsif ($rsp->{error}) { + $rc = $rsp->{error}[0]; } $response=''; }