hi you need to put this information into the description of the patch
a patch normally has this format ----------------------------------------------- The patch does ABC to achieve XYZ Signed-off-by: name <[email protected]> --- $(The actual patch) ------------------------- please resend both patches in that format. John On 26/02/2016 09:33, Zhao, Gang wrote: > > > On Fri, Feb 26, 2016 at 2:33 PM, John Crispin <[email protected] > <mailto:[email protected]>> wrote: > > Description of what the patch does is missing > > > Hi, John > > Currently 'ubus listen' command does not respect the timeout parameter, > i.e., whether timeout parameter is provided, 'ubus listen' will always > run infinitely, this patch let 'ubus listen' command support the timeout > parameter, for example, 'ubus listen -t 60' will cause the command to > exit after 60 seconds. > > The 'ubus wait_for' command already support timeout parameter, so I > think it may be good to let 'ubus listen' also support timeout. > > > John > > On 26/02/2016 03:27, Zhao, Gang wrote: > > Signed-off-by: Zhao, Gang <[email protected] > <mailto:[email protected]>> > > --- > > cli.c | 25 ++++++++++++++++++++----- > > 1 file changed, 20 insertions(+), 5 deletions(-) > > > > diff --git a/cli.c b/cli.c > > index c476f35..24b5d22 100644 > > --- a/cli.c > > +++ b/cli.c > > @@ -125,15 +125,29 @@ static int ubus_cli_call(struct ubus_context > *ctx, int argc, char **argv) > > return ubus_invoke(ctx, id, argv[1], b.head, > receive_call_result_data, NULL, timeout * 1000); > > } > > > > +struct cli_listen_data { > > + struct uloop_timeout timeout; > > + struct ubus_event_handler ev; > > + bool timed_out; > > +}; > > + > > +static void listen_timeout(struct uloop_timeout *timeout) > > +{ > > + struct cli_listen_data *data = container_of(timeout, struct > cli_listen_data, timeout); > > + data->timed_out = true; > > + uloop_end(); > > +} > > + > > static int ubus_cli_listen(struct ubus_context *ctx, int argc, > char **argv) > > { > > - struct ubus_event_handler listener; > > + struct cli_listen_data data = { > > + .timeout.cb = listen_timeout, > > + .ev.cb = receive_event, > > + .timed_out = false, > > + }; > > const char *event; > > int ret = 0; > > > > - memset(&listener, 0, sizeof(listener)); > > - listener.cb = receive_event; > > - > > if (argc > 0) { > > event = argv[0]; > > } else { > > @@ -142,7 +156,7 @@ static int ubus_cli_listen(struct ubus_context > *ctx, int argc, char **argv) > > } > > > > do { > > - ret = ubus_register_event_handler(ctx, &listener, > event); > > + ret = ubus_register_event_handler(ctx, &data.ev, event); > > if (ret) > > break; > > > > @@ -163,6 +177,7 @@ static int ubus_cli_listen(struct ubus_context > *ctx, int argc, char **argv) > > > > uloop_init(); > > ubus_add_uloop(ctx); > > + uloop_timeout_set(&data.timeout, timeout * 1000); > > uloop_run(); > > uloop_done(); > > > > > > _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
