On 27/09/12 20:33, Gilles Chanteperdrix wrote:
> On 09/27/2012 02:47 PM, Wolfgang Mauerer wrote:
> 
>> On 27/09/12 14:04, Gilles Chanteperdrix wrote:
>>> On 09/27/2012 10:28 AM, Wolfgang Mauerer wrote:
>>>> On 26/09/12 23:28, Gilles Chanteperdrix wrote:
>>>>> On 09/26/2012 03:16 PM, Wolfgang Mauerer wrote:
>> (...)
>>
>>>>> Talking about readability, I find a goto with a clear label name much
>>>>> more readable than a flag. So, NACK this patch, please keep the goto.
>>>>  
>>>> So you're against the refactoring, or only against using the flag?
>>>> Keeping the goto leads to something like
>>>>
>>>>    if (install_pcpu_timer(cpu, hrclock_freq, t))
>>>>            goto found
>>>> (...)
>>>> found:    ;
>>>>
>>>> since we need a statement for the label, but nothing is left to do.
>>>> I find this fairly ugly, but if you prefer it over a flag, then
>>>> so be it.
>>>
>>> Then use return instead of goto...
>>
>> Won't work -- that skips the rest of the enclosing per_cpu loop and
>> the second part of the function introduced in the follow-up commit
>> that does the actual bugfixing.
>>
>> Since I take the flag is the issue and not the refactoring as such, 
>> please find an updated patch with a goto below.
> 
> 
> Oh boy, you love functions, do you? What I would do is: keep the test
sure() :)
> for evtdev->mode outside of the install_pcpu_timer function so that we
> clearly see in the loop that it is the only reason for continuing the
> loop. Then use the goto found, and at the found label, call the now void
> function install_pcpu_timer. Ok for you?
> 
okay, changed the code as desired to introduce more labels and use the 
preprocessor more often. Please pick 23b2de46314 and b738a3b624 from 
https://github.com/siemens/ipipe core-3.5_for-upstream (apply also
cleanly to core-4).

Best regards, Wolfgang


_______________________________________________
Xenomai mailing list
Xenomai@xenomai.org
http://www.xenomai.org/mailman/listinfo/xenomai

Reply via email to