On Wed, Jun 26, 2019 at 12:41 PM Thomas Monjalon <tho...@monjalon.net> wrote:
> When adding an alarm, if an error happen when registering > the common alarm callback, it is not considered as a major failure. > The alarm is then inserted in the list. > However it was returning an error code after inserting the alarm. > > The error code is reset to 0 so the behaviour and the return code > are consistent. > Other return code related lines are cleaned up for easier understanding. > > Fixes: af75078fece3 ("first public release") > Cc: sta...@dpdk.org > > Signed-off-by: Thomas Monjalon <tho...@monjalon.net> > --- > lib/librte_eal/linux/eal/eal_alarm.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/lib/librte_eal/linux/eal/eal_alarm.c > b/lib/librte_eal/linux/eal/eal_alarm.c > index 840ede780..d6d70e8c3 100644 > --- a/lib/librte_eal/linux/eal/eal_alarm.c > +++ b/lib/librte_eal/linux/eal/eal_alarm.c > @@ -137,9 +137,13 @@ rte_eal_alarm_set(uint64_t us, rte_eal_alarm_callback > cb_fn, void *cb_arg) > > rte_spinlock_lock(&alarm_list_lk); > if (!handler_registered) { > - ret |= rte_intr_callback_register(&intr_handle, > + ret = rte_intr_callback_register(&intr_handle, > eal_alarm_callback, NULL); > - handler_registered = (ret == 0) ? 1 : 0; > + if (ret == 0) > + handler_registered = 1; > + else > + /* not fatal, callback can be registered later */ > + ret = 0; > } > > if (LIST_EMPTY(&alarm_list)) > Well, then it means that you don't want to touch ret at all. How about: if (rte_intr_callback_register(&intr_handle, eal_alarm_callback, NULL) == 0) handler_registered = 1; ? -- David Marchand