Message ID | 20240912092253.119754-4-hadess@hadess.net (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
Series | Fix bluetoothctl hanging if daemon isn't running | expand |
Context | Check | Description |
---|---|---|
tedd_an/pre-ci_am | success | Success |
tedd_an/CheckPatch | success | CheckPatch PASS |
tedd_an/GitLint | success | Gitlint PASS |
tedd_an/IncrementalBuild | success | Incremental Build PASS |
Hi Bastien, On Thu, Sep 12, 2024 at 5:29 AM Bastien Nocera <hadess@hadess.net> wrote: > > Exit after handling --help, so as to avoid the daemon waiting to > communicate with a D-Bus service that might not be running. > --- > src/shared/shell.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/src/shared/shell.c b/src/shared/shell.c > index c31487190d0f..f7e8b3300373 100644 > --- a/src/shared/shell.c > +++ b/src/shared/shell.c > @@ -1324,9 +1324,7 @@ void bt_shell_init(int argc, char **argv, const struct bt_shell_opt *opt) > return; > case 'h': > usage(argc, argv, opt); > - data.argc = 1; > - data.argv = &cmplt; > - data.mode = 1; > + exit(EXIT_SUCCESS); This would undo shared/shell: Print commands when --help option is given, so you might want to add print_cmds call. > goto done; > case 's': > if (optarg && data.init_fd < 0) { > -- > 2.46.0 > >
On Thu, 2024-09-12 at 11:11 -0400, Luiz Augusto von Dentz wrote: > Hi Bastien, > > On Thu, Sep 12, 2024 at 5:29 AM Bastien Nocera <hadess@hadess.net> > wrote: > > > > Exit after handling --help, so as to avoid the daemon waiting to > > communicate with a D-Bus service that might not be running. > > --- > > src/shared/shell.c | 4 +--- > > 1 file changed, 1 insertion(+), 3 deletions(-) > > > > diff --git a/src/shared/shell.c b/src/shared/shell.c > > index c31487190d0f..f7e8b3300373 100644 > > --- a/src/shared/shell.c > > +++ b/src/shared/shell.c > > @@ -1324,9 +1324,7 @@ void bt_shell_init(int argc, char **argv, > > const struct bt_shell_opt *opt) > > return; > > case 'h': > > usage(argc, argv, opt); > > - data.argc = 1; > > - data.argv = &cmplt; > > - data.mode = 1; > > + exit(EXIT_SUCCESS); > > This would undo shared/shell: Print commands when --help option is > given, so you might want to add print_cmds call. I'll need to come back to this. bt_shell_init() is called before the submenus are added, so I can't call print_cmds() at that point, I'll need to postpone the exit until after the menus are registered and their help printed. > > > goto done; > > case 's': > > if (optarg && data.init_fd < 0) { > > -- > > 2.46.0 > > > > > >
On Thu, 2024-09-12 at 11:11 -0400, Luiz Augusto von Dentz wrote: > Hi Bastien, > > On Thu, Sep 12, 2024 at 5:29 AM Bastien Nocera <hadess@hadess.net> > wrote: > > > > Exit after handling --help, so as to avoid the daemon waiting to > > communicate with a D-Bus service that might not be running. > > --- > > src/shared/shell.c | 4 +--- > > 1 file changed, 1 insertion(+), 3 deletions(-) > > > > diff --git a/src/shared/shell.c b/src/shared/shell.c > > index c31487190d0f..f7e8b3300373 100644 > > --- a/src/shared/shell.c > > +++ b/src/shared/shell.c > > @@ -1324,9 +1324,7 @@ void bt_shell_init(int argc, char **argv, > > const struct bt_shell_opt *opt) > > return; > > case 'h': > > usage(argc, argv, opt); > > - data.argc = 1; > > - data.argv = &cmplt; > > - data.mode = 1; > > + exit(EXIT_SUCCESS); > > This would undo shared/shell: Print commands when --help option is > given, so you might want to add print_cmds call. That wasn't enough, because the menu info isn't populated at this point, so we'd only get the top-level help. It was quite a bit more involved, but I hope I got all variants covered in the v2 patchset. Cheers > > > goto done; > > case 's': > > if (optarg && data.init_fd < 0) { > > -- > > 2.46.0 > > > > > >
diff --git a/src/shared/shell.c b/src/shared/shell.c index c31487190d0f..f7e8b3300373 100644 --- a/src/shared/shell.c +++ b/src/shared/shell.c @@ -1324,9 +1324,7 @@ void bt_shell_init(int argc, char **argv, const struct bt_shell_opt *opt) return; case 'h': usage(argc, argv, opt); - data.argc = 1; - data.argv = &cmplt; - data.mode = 1; + exit(EXIT_SUCCESS); goto done; case 's': if (optarg && data.init_fd < 0) {