From: "michal.lowas-rzechonek@silvair.com" <michal.lowas-rzechonek@silvair.com>
To: "Gix, Brian" <brian.gix@intel.com>
Cc: "linux-bluetooth@vger.kernel.org" <linux-bluetooth@vger.kernel.org>
Subject: Re: [PATCH BlueZ] mesh: Log D-Bus method call errors
Date: Thu, 29 Aug 2019 21:56:10 +0200 [thread overview]
Message-ID: <20190829195610.a6dwgxabq3d2g3bp@kynes> (raw)
In-Reply-To: <145b9b726c45fd37592b5a7a3504c911cd848409.camel@intel.com>
Hi Brian,
On 08/29, Gix, Brian wrote:
> That is true, and we *expect* applications that are attached to handle
> the socket-signals (that drive d-bus) in a timely manner... But I am
> not sure we have a way to enforce it.
>
> Certainly, we can simulate a disconnection if an App ignores it's DBus
> socket signal, but again, we won't know about that for 30 seconds
> which seems like forever... And an App could potentially have a large
> enough backlog of messages negatively affecting the daemon before it
> and corrects it.
This seems like a limitation of ELL:
1. There doesn't seem to be an explicit API to set timeouts on method
calls, so if the application takes too long to handle method calls,
message_list hashmap in l_dbus struct would indeed grow quite large.
2. There doesn't seem to be a way to set an upper limit of pending
messages (or maybe even message rate?) in l_dbus connection.
Still, looking at ell/dbus.c, it seems it should be possible to manually
call l_dbus_cancel after obtaining serial number of the method call
message, using _dbus_message_get_serial from dbus-private.h (yeah, I
know).
Anyway, I think a better approach would be to submit patches to ELL
implementing these two features, and then use these additions in meshd.
Does that sound acceptable from your POV?
By the way, it seems that bluetoothd suffers from the same problem with
regards to external GATT services/characteristics/descriptors.
regards
--
Michał Lowas-Rzechonek <michal.lowas-rzechonek@silvair.com>
Silvair http://silvair.com
Jasnogórska 44, 31-358 Krakow, POLAND
next prev parent reply other threads:[~2019-08-29 19:56 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-20 7:56 [PATCH BlueZ] mesh: Log D-Bus method call errors Michał Lowas-Rzechonek
2019-08-28 16:22 ` Gix, Brian
2019-08-29 9:59 ` michal.lowas-rzechonek
2019-08-29 18:38 ` Gix, Brian
2019-08-29 19:56 ` michal.lowas-rzechonek [this message]
2019-08-29 20:07 ` Gix, Brian
2019-08-30 5:47 ` michal.lowas-rzechonek
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=20190829195610.a6dwgxabq3d2g3bp@kynes \
--to=michal.lowas-rzechonek@silvair.com \
--cc=brian.gix@intel.com \
--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).