[ltt-dev] [UST PATCH] Make the error handling in open_channel more readable

Yannick Brosseau yannick.brosseau at gmail.com
Tue Feb 22 23:13:10 EST 2011


On 2011-02-22 23:06, Mathieu Desnoyers wrote:
> * Yannick Brosseau (yannick.brosseau at gmail.com) wrote:
>   
>> Signed-off-by: Yannick Brosseau <yannick.brosseau at gmail.com>
>> ---
>>  libust/buffers.c |    9 ++++-----
>>  1 files changed, 4 insertions(+), 5 deletions(-)
>>
>> diff --git a/libust/buffers.c b/libust/buffers.c
>> index 4e8004c..534d0ef 100644
>> --- a/libust/buffers.c
>> +++ b/libust/buffers.c
>> @@ -319,12 +319,11 @@ static int open_channel(struct ust_channel *chan, size_t subbuf_size,
>>  
>>  	return 0;
>>  
>> -	/* Jump directly inside the loop to close the buffers that were already
>> -	 * opened. */
>> -	for(; i>=0; i--) {
>> -		close_buf(chan->buf[i]);
>>  error:
>> -		do {} while(0);
>> +	/* Loop through the opened buffers and close them. Skip the current i, 
>> +	   since it's the one that did not open. */
>> +	for(i--; i>=0; i--) {
>> +		close_buf(chan->buf[i]);
>>     
> Not sure I see how this is more readable. You seem to be changing the
> code behavior too.
>   

At least we don't have a jump un the middle of a loop and a complex nop
operation.
The behavior is the same.

We could also not reuse the i and loop from 0 to i-1.




More information about the lttng-dev mailing list