Cornelia Huck <coh...@redhat.com> writes:

> On Fri, 31 Aug 2018 08:01:39 +0200
> Markus Armbruster <arm...@redhat.com> wrote:
>
>> Cornelia Huck <coh...@redhat.com> writes:
>> 
>> > {error,warn}_report_once() are a special case of the new functions
>> > and can simply switch to them.
>> >
>> > Signed-off-by: Cornelia Huck <coh...@redhat.com>
>> > ---
>> >  include/qemu/error-report.h | 34 ++++++++++++++--------------------
>> >  1 file changed, 14 insertions(+), 20 deletions(-)
>> >
>> > diff --git a/include/qemu/error-report.h b/include/qemu/error-report.h
>> > index e415128ac4..918cb936d8 100644
>> > --- a/include/qemu/error-report.h
>> > +++ b/include/qemu/error-report.h
>> > @@ -53,32 +53,26 @@ bool warn_report_once_cond(bool *printed, const char 
>> > *fmt, ...)
>> >   * Similar to error_report(), except it prints the message just once.
>> >   * Return true when it prints, false otherwise.
>> >   */
>> > -#define error_report_once(fmt, ...)             \
>> > -    ({                                          \
>> > -        static bool print_once_;                \
>> > -        bool ret_print_once_ = !print_once_;    \
>> > -                                                \
>> > -        if (!print_once_) {                     \
>> > -            print_once_ = true;                 \
>> > -            error_report(fmt, ##__VA_ARGS__);   \
>> > -        }                                       \
>> > -        unlikely(ret_print_once_);              \
>> > +#define error_report_once(fmt, ...)                     \
>> > +    ({                                                  \
>> > +        static bool print_once_;                        \
>> > +        bool ret_print_once_ =                          \
>> > +            error_report_once_cond(&print_once_,        \
>> > +                                   fmt, ##__VA_ARGS__); \
>> > +        unlikely(ret_print_once_);                      \
>> >      })  
>> 
>> Do we still need @ret_print_once_?
>> 
>>    #define error_report_once(fmt, ...)                     \
>>        ({                                                  \
>>            static bool print_once_;                        \
>>            unlikely(error_report_once_cond(&print_once_,   \
>>                                    fmt, ##__VA_ARGS__));   \
>>        })
>> 
>> Or dispense with the unlikely:
>> 
>>    #define error_report_once(fmt, ...)                     \
>>        ({                                                  \
>>            static bool print_once_;                        \
>>            error_report_once_cond(&print_once_,            \
>>                                   fmt, ##__VA_ARGS__);     \
>>        })
>> 
>> Got a preference?
>
> I think we can get rid of the unlikely().

With that:
Reviewed-by: Markus Armbruster <arm...@redhat.com>

> Will you make these changes yourself, or should I respin?

Happy to do it myself.

Reply via email to