Re: [PATCH BlueZ] gdbus: Fix not emiting PropertiesChanged

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2017-11-22 at 15:38 +0200, Luiz Augusto von Dentz wrote:
> Hi,
> 
> On Wed, Nov 22, 2017 at 11:14 AM, Luiz Augusto von Dentz
> <luiz.dentz@xxxxxxxxx> wrote:
> > Hi Bastien,
> > 
> > On Wed, Nov 22, 2017 at 12:05 AM, Bastien Nocera <hadess@xxxxxxxxxx
> > > wrote:
> > > > Re: [PATCH BlueZ] gdbus: Fix not emiting PropertiesChanged
> > > 
> > > emitting.
> > > 
> > > On Tue, 2017-11-21 at 22:04 +0200, Luiz Augusto von Dentz wrote:
> > > > From: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx>
> > > > 
> > > > If and interface is removed while properties are pending it
> > > > would cause
> > > 
> > > "an interface".
> > > 
> > > > process_properties_from_interface to clear data->pending_prop
> > > > when it
> > > > should only clear the iface->pending_prop.
> > > 
> > > I prefer my version, which allows the pending properties to be
> > > cleared
> > > out if the pending ones were for that interface. I also prefer
> > > the
> > > subject line I used, describing the actual problem it fixes, and
> > > the
> > > commit message going more into details.
> > 
> > I guess this one is simpler to maintain, also notice that iterating
> > in
> > the data->interfaces to check if there are no other pending_prop
> > has
> > almost the same effect as process_property_changes, what would make
> > a
> > difference would be to prevent process_changes but that has to run
> > anyway to propagate the interfaces added/removed. Also notice that
> > data->pending_prop is clear earlier than the original fix for
> > duplicated signals, the one that introduced this problem, that way
> > we
> > don't reintroduce the original problem.
> > 
> > Regarding the commit message, we usually avoid BlueZ specific
> > description there as gdbus is shared with other projects.
> > 
> > > 
> > > But up to you.
> > > 
> > > Cheers
> > > 
> > > > ---
> > > >  gdbus/object.c | 4 ++--
> > > >  1 file changed, 2 insertions(+), 2 deletions(-)
> > > > 
> > > > diff --git a/gdbus/object.c b/gdbus/object.c
> > > > index afb458764..5c8ad7a55 100644
> > > > --- a/gdbus/object.c
> > > > +++ b/gdbus/object.c
> > > > @@ -1659,8 +1659,6 @@ static void
> > > > process_properties_from_interface(struct generic_data *data,
> > > >       DBusMessageIter iter, dict, array;
> > > >       GSList *invalidated;
> > > > 
> > > > -     data->pending_prop = FALSE;
> > > > -
> > > >       if (iface->pending_prop == NULL)
> > > >               return;
> > > > 
> > > > @@ -1722,6 +1720,8 @@ static void
> > > > process_property_changes(struct
> > > > generic_data *data)
> > > >  {
> > > >       GSList *l;
> > > > 
> > > > +     data->pending_prop = FALSE;
> > > > +
> > > >       for (l = data->interfaces; l != NULL; l = l->next) {
> > > >               struct interface_data *iface = l->data;
> > > > 
> 
> Applied.

You could at least have applied fixes to the 2 typos I mentioned :(
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux