Return errorcode on exit
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@515 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
This commit is contained in:
parent
ccb164810f
commit
86cf46aa77
@ -87,6 +87,7 @@ sub handled_commands {
|
||||
sub send_msg {
|
||||
|
||||
my $request = shift;
|
||||
my $ecode = shift;
|
||||
my %output;
|
||||
|
||||
#################################################
|
||||
@ -95,6 +96,7 @@ sub send_msg {
|
||||
if ( exists( $request->{pipe} )) {
|
||||
my $out = $request->{pipe};
|
||||
|
||||
$output{errorcode} = $ecode;
|
||||
$output{data} = \@_;
|
||||
print $out freeze( [\%output] );
|
||||
print $out "\nENDOFFREEZE6sK4ci\n";
|
||||
@ -105,6 +107,7 @@ sub send_msg {
|
||||
elsif ( exists( $request->{callback} )) {
|
||||
my $callback = $request->{callback};
|
||||
|
||||
$output{errorcode} = $ecode;
|
||||
$output{data} = \@_;
|
||||
$callback->( \%output );
|
||||
}
|
||||
@ -147,7 +150,7 @@ sub parse_args {
|
||||
" -w writes output to xCat database.",
|
||||
" -x xml formatted output.",
|
||||
" -z stanza formatted output." );
|
||||
send_msg( $request, @msg );
|
||||
send_msg( $request, 1, @msg );
|
||||
};
|
||||
#############################################
|
||||
# No command-line arguments - use defaults
|
||||
@ -182,7 +185,7 @@ sub parse_args {
|
||||
# Option -v for version
|
||||
#############################################
|
||||
if ( exists( $opt{v} )) {
|
||||
send_msg( $request, \@VERSION );
|
||||
send_msg( $request, 0, \@VERSION );
|
||||
return(1);
|
||||
}
|
||||
#############################################
|
||||
@ -376,7 +379,7 @@ sub trace {
|
||||
if ( $verbose ) {
|
||||
my ($sec,$min,$hour,$mday,$mon,$yr,$wday,$yday,$dst) = localtime(time);
|
||||
my $msg = sprintf "%02d:%02d:%02d %5d %s", $hour,$min,$sec,$$,$msg;
|
||||
send_msg( $request, $msg );
|
||||
send_msg( $request, 0, $msg );
|
||||
}
|
||||
}
|
||||
|
||||
@ -403,7 +406,7 @@ sub fork_cmd {
|
||||
###################################
|
||||
# Fork error
|
||||
###################################
|
||||
send_msg( $request, "Fork error: $!" );
|
||||
send_msg( $request, 1, "Fork error: $!" );
|
||||
return undef;
|
||||
}
|
||||
elsif ( $pid == 0 ) {
|
||||
@ -523,7 +526,7 @@ sub runslp {
|
||||
# Serialize broadcasts out each adapter
|
||||
###########################################
|
||||
if ( !open( OUTPUT, "$cmd 2>&1 |")) {
|
||||
send_msg( $request, "Fork error: $!" );
|
||||
send_msg( $request, 1, "Fork error: $!" );
|
||||
return undef;
|
||||
}
|
||||
###############################
|
||||
@ -621,7 +624,7 @@ sub format_output {
|
||||
# No responses
|
||||
###########################################
|
||||
if (( keys %$outhash ) == 0 ){
|
||||
send_msg( $request, "No responses" );
|
||||
send_msg( $request, 0, "No responses" );
|
||||
return;
|
||||
}
|
||||
###########################################
|
||||
@ -637,21 +640,21 @@ sub format_output {
|
||||
foreach ( keys %$outhash ) {
|
||||
$result .= "@{ $outhash->{$_}}[5]\n";
|
||||
}
|
||||
send_msg( $request, $result );
|
||||
send_msg( $request, 0, $result );
|
||||
return;
|
||||
}
|
||||
###########################################
|
||||
# -x flag for xml format
|
||||
###########################################
|
||||
if ( exists( $opt{x} )) {
|
||||
send_msg( $request, format_xml( $outhash ));
|
||||
send_msg( $request, 0, format_xml( $outhash ));
|
||||
return;
|
||||
}
|
||||
###########################################
|
||||
# -z flag for stanza format
|
||||
###########################################
|
||||
if ( exists( $opt{z} )) {
|
||||
send_msg( $request, format_stanza( $outhash ));
|
||||
send_msg( $request, 0, format_stanza( $outhash ));
|
||||
return;
|
||||
}
|
||||
|
||||
@ -681,7 +684,7 @@ sub format_output {
|
||||
}
|
||||
$result .= "\n";
|
||||
}
|
||||
send_msg( $request, $result );
|
||||
send_msg( $request, 0, $result );
|
||||
}
|
||||
|
||||
|
||||
@ -1117,7 +1120,7 @@ sub slp_query {
|
||||
);
|
||||
|
||||
if ( !-x $slpcmd ) {
|
||||
send_msg( $request, "Command not installed: $slpcmd" );
|
||||
send_msg( $request, 1, "Command not installed: $slpcmd" );
|
||||
return(1);
|
||||
}
|
||||
#############################################
|
||||
@ -1143,7 +1146,7 @@ sub slp_query {
|
||||
my $Rc = shift(@$result);
|
||||
|
||||
if ( $Rc ) {
|
||||
send_msg( $request, @$result[0] );
|
||||
send_msg( $request, 1, @$result[0] );
|
||||
return(1);
|
||||
}
|
||||
if ( $verbose ) {
|
||||
@ -1267,3 +1270,4 @@ sub process_request {
|
||||
1;
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user