[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