Re: [PATCH BlueZ v2 0/4] obexd: unregister profiles when the user is inactive

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

 



Hi Andrew,

On Fri, Apr 25, 2025 at 1:15 PM Andrew Sayers
<kernel.org@xxxxxxxxxxxxxxx> wrote:
>
> This is a follow-up to "obexd: only run one instance at once".
> Instead of refusing to run parallel services, it unregisters
> profiles when the user is inactive.  This avoids the need
> for tmpfiles, and avoids issues where the user with the
> obex service logs out, leaving obex disabled altogether.
>
> Luiz previously suggested moving this to systemd, but I haven't had much
> luck getting the systemd devs to accept changes, and Pauli's mention of
> elogind (i.e. logind without systemd) suggests it's probably better
> to avoid the dependency anyway.
>
> I considered writing a separate D-Bus service that would notify you
> when the session became (in)active, but D-Bus doesn't have particularly
> strong guarantees about how long messages take to deliver, which could
> lead to race conditions between instances on overloaded systems.
>
> I also considered writing some kind of library, but there's not much
> code to deduplicate, and most of it would need to be reworked for every
> service that uses it.  So I wrote a gist for people to copy/paste:
>
> https://gist.github.com/andrew-sayers/1c4a24f86a9a4c1b1e38d109f1bd1d1e
>
> Signed-off-by: Andrew Sayers <kernel.org@xxxxxxxxxxxxxxx>
> ---
>
> V1 -> V2 Open/close private DBus connections instead of
>           calling UnregisterProfile (thanks Pauli Virtanen)
>          Add obex_setup_dbus_connection_private() (to enable the above)
>          Fix CI errors
>          Minor issues I missed last time:
>            * s/regster/register/ in e-mail subject lines
>            * s/login_.*_cb/logind_$1_cb/g in logind.[ch]
>            * remove watches on exit in pbap.c and bluetooth.c
>
> Andrew Sayers (5):
>       pbap: Support calling pbap_init() after pbap_exit()
>       obexd/bluetooth: Support calling bluetooth_init() after bluetooth_exit()
>       obexd: Support creating private system/session bus connections
>       obexd: Unregister profiles when the user is inactive
>       Revert "obexd: only run one instance at once"
>
>  Makefile.obexd            |  10 ++
>  obexd/client/pbap.c       |  33 ++++++-
>  obexd/plugins/bluetooth.c |  30 +++++-
>  obexd/src/logind.c        | 245 ++++++++++++++++++++++++++++++++++++++++++++++
>  obexd/src/logind.h        |  26 +++++
>  obexd/src/main.c          |  12 +++
>  obexd/src/obex.service.in |   9 --
>  obexd/src/obexd.h         |   2 +
>  8 files changed, 349 insertions(+), 18 deletions(-)

Seems that the coding style is not quite right:

https://github.com/bluez/bluez/actions/runs/14670164969/job/41174608664?pr=1198

I'm adding .clang-format and .editorconfig in order to make it simpler
for linters and editor to detect the coding style automatically.

-- 
Luiz Augusto von Dentz





[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