client: check for stdout errors
Return with an error code from chronyc if the command is expected to print some data and fflush() or ferror() indicates an error. This should make it easier for scripts to detect missing data when redirected to a file.
This commit is contained in:
parent
7daf34675a
commit
a738037705
1 changed files with 10 additions and 1 deletions
11
client.c
11
client.c
|
@ -3238,8 +3238,17 @@ process_line(char *line)
|
|||
if (do_normal_submit) {
|
||||
ret = request_reply(&tx_message, &rx_message, RPY_NULL, 1);
|
||||
}
|
||||
|
||||
fflush(stderr);
|
||||
fflush(stdout);
|
||||
|
||||
if (fflush(stdout) != 0 || ferror(stdout) != 0) {
|
||||
LOG(LOGS_ERR, "Could not write to stdout");
|
||||
|
||||
/* Return error for commands that print data */
|
||||
if (!do_normal_submit)
|
||||
return 0;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue