linux-bluetooth.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
To: Bastien Nocera <hadess@hadess.net>
Cc: "linux-bluetooth@vger.kernel.org" <linux-bluetooth@vger.kernel.org>
Subject: Re: [PATCH BlueZ] gdbus: Fix not emiting PropertiesChanged
Date: Wed, 22 Nov 2017 11:14:38 +0200	[thread overview]
Message-ID: <CABBYNZLy-ei67BuDApNvK4KWhtKPWM__4ynM9F8REgCWFgO7WA@mail.gmail.com> (raw)
In-Reply-To: <1511301906.16347.42.camel@hadess.net>

Hi Bastien,

On Wed, Nov 22, 2017 at 12:05 AM, Bastien Nocera <hadess@hadess.net> 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@intel.com>
>>
>> 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;
>>



-- 
Luiz Augusto von Dentz

  reply	other threads:[~2017-11-22  9:14 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-21 20:04 [PATCH BlueZ] gdbus: Fix not emiting PropertiesChanged Luiz Augusto von Dentz
2017-11-21 22:05 ` Bastien Nocera
2017-11-22  9:14   ` Luiz Augusto von Dentz [this message]
2017-11-22 13:38     ` Luiz Augusto von Dentz
2017-11-22 13:39       ` Bastien Nocera
2017-11-22 13:43         ` Luiz Augusto von Dentz
2017-11-22 13:48           ` Bastien Nocera

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CABBYNZLy-ei67BuDApNvK4KWhtKPWM__4ynM9F8REgCWFgO7WA@mail.gmail.com \
    --to=luiz.dentz@gmail.com \
    --cc=hadess@hadess.net \
    --cc=linux-bluetooth@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).