Re: [BlueZ v3 7/7] client: Fix --help hanging if bluetoothd is not running

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

 



On Mon, 2024-10-28 at 11:54 -0400, Luiz Augusto von Dentz wrote:
> Hi Bastien,
> 
> On Mon, Oct 28, 2024 at 11:35 AM Bastien Nocera <hadess@xxxxxxxxxx>
> wrote:
> > 
> > On Thu, 2024-10-24 at 12:08 -0400, Luiz Augusto von Dentz wrote:
> > > Hi Bastien,
> > > 
> > > On Tue, Oct 22, 2024 at 10:11 AM Bastien Nocera
> > > <hadess@xxxxxxxxxx>
> > > wrote:
> > > > 
> > > > Exit after printing all the main and submenu commands.
> > > > ---
> > > >  client/main.c | 2 ++
> > > >  1 file changed, 2 insertions(+)
> > > > 
> > > > diff --git a/client/main.c b/client/main.c
> > > > index f60bef1a6d3a..f5ed9f9f5297 100644
> > > > --- a/client/main.c
> > > > +++ b/client/main.c
> > > > @@ -3193,6 +3193,8 @@ int main(int argc, char *argv[])
> > > >         assistant_add_submenu();
> > > >         bt_shell_set_prompt(PROMPT_OFF, NULL);
> > > > 
> > > > +       bt_shell_handle_non_interactive_help();
> > > > +
> > > >         if (agent_option)
> > > >                 auto_register_agent = g_strdup(agent_option);
> > > >         else
> > > > --
> > > > 2.47.0
> > > > 
> > > 
> > > Having some thoughts about how to do this is more clean way,
> > > perhaps
> > > we should do this as part of bt_shell_run and then introduce .run
> > > callback to bt_shell_menu so it is called as part of
> > > bt_shell_run,
> > > under the .run callback the menu can place e.g. DBUS connection
> > > setup,
> > > etc, but before it reaches that we can check if it just a help
> > > pending.
> > 
> > We need to:
> > 1) set the top menu
> > 2) populate the submenus without any D-Bus IO
> > 3) turn off the prompt
> > 4) print the help and exit if that's what was requested
> > 5) setup IO for submenus
> > 6) run the mainloop
> > 
> > I guess I could do 2) with a callback from bt_shell_set_menu()
> > and then do 4) and 5) from a bt_shell_run() callback.
> 
> Yep.
> 
> > Is that what you expected?
> > Do you have preferred names for the callback functions?
> 
> Id call it .run since it should be the result of bt_shell_run
> 
> > I think that we can still use the function split from 3/7, did you
> > have
> > a better name for the functions?
> 
> Not sure I follow, there will be a split between adding submenus and
> .run to achieve the 2 stages, or are you talking about some other
> split?

We still need to split the functions called in .run between the bits
that populate the submenu, and the bits that will make D-Bus I/O, so
patch number 3 still needs to be exist.

Is assistant_add_submenu() and assistant_enable_submenu() OK, or did
you want a different name?





[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