[lttng-dev] [PATCH lttng-tools] Fix: Don't output to stdout from lttng-ctl
David Goulet
dgoulet at efficios.com
Wed May 7 14:41:34 EDT 2014
Merged!
On 07 May (14:27:45), Jérémie Galarneau wrote:
> Signed-off-by: Jérémie Galarneau <jeremie.galarneau at efficios.com>
> ---
> src/bin/lttng/commands/stop.c | 29 ++++++++++++++++++++++++-----
> src/lib/lttng-ctl/lttng-ctl.c | 7 -------
> 2 files changed, 24 insertions(+), 12 deletions(-)
>
> diff --git a/src/bin/lttng/commands/stop.c b/src/bin/lttng/commands/stop.c
> index 60a1dac..cb45f12 100644
> --- a/src/bin/lttng/commands/stop.c
> +++ b/src/bin/lttng/commands/stop.c
> @@ -79,11 +79,7 @@ static int stop_tracing(void)
> session_name = opt_session_name;
> }
>
> - if (opt_no_wait) {
> - ret = lttng_stop_tracing_no_wait(session_name);
> - } else {
> - ret = lttng_stop_tracing(session_name);
> - }
> + ret = lttng_stop_tracing_no_wait(session_name);
> if (ret < 0) {
> switch (-ret) {
> case LTTNG_ERR_TRACE_ALREADY_STOPPED:
> @@ -96,6 +92,29 @@ static int stop_tracing(void)
> goto free_name;
> }
>
> + if (!opt_no_wait) {
> + _MSG("Waiting for data availability");
> + fflush(stdout);
> + do {
> + ret = lttng_data_pending(session_name);
> + if (ret < 0) {
> + /* Return the data available call error. */
> + goto error;
> + }
> +
> + /*
> + * Data sleep time before retrying (in usec). Don't sleep if the call
> + * returned value indicates availability.
> + */
> + if (ret) {
> + usleep(DEFAULT_DATA_AVAILABILITY_WAIT_TIME);
> + _MSG(".");
> + fflush(stdout);
> + }
> + } while (ret != 0);
> + MSG("");
> + }
> +
> ret = CMD_SUCCESS;
>
> MSG("Tracing stopped for session %s", session_name);
> diff --git a/src/lib/lttng-ctl/lttng-ctl.c b/src/lib/lttng-ctl/lttng-ctl.c
> index 756fd6b..272c702 100644
> --- a/src/lib/lttng-ctl/lttng-ctl.c
> +++ b/src/lib/lttng-ctl/lttng-ctl.c
> @@ -579,9 +579,6 @@ static int _lttng_stop_tracing(const char *session_name, int wait)
> goto end;
> }
>
> - _MSG("Waiting for data availability");
> - fflush(stdout);
> -
> /* Check for data availability */
> do {
> data_ret = lttng_data_pending(session_name);
> @@ -597,13 +594,9 @@ static int _lttng_stop_tracing(const char *session_name, int wait)
> */
> if (data_ret) {
> usleep(DEFAULT_DATA_AVAILABILITY_WAIT_TIME);
> - _MSG(".");
> - fflush(stdout);
> }
> } while (data_ret != 0);
>
> - MSG("");
> -
> end:
> error:
> return ret;
> --
> 1.9.2
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 603 bytes
Desc: Digital signature
URL: <http://lists.lttng.org/pipermail/lttng-dev/attachments/20140507/e22ce463/attachment.sig>
More information about the lttng-dev
mailing list