The following is a patch to chronyc that causes it
to flush the buffers to stderr and stdout after
executing each command. This is needed if
you are controling chronyc from a program (i.e. chronyc's
input and output descriptors are pipes which are being
written/read by another program) and
you do not want to block waiting for chronyc response
which is trapped in a buffer!
/* Check for line being blank */
p = line;
while (*p && isspace((unsigned char)*p)) p++;
- if (!*p) return quit;
+ if (!*p) {
+ fflush(stderr);
+ fflush(stdout);
+ return quit;
+ };
if (!strncmp(p, "offline", 7)) {
do_normal_submit = process_cmd_offline(&tx_message, p+7);
}
}
}
-
+ fflush(stderr);
+ fflush(stdout);
return quit;
}