On Fri, Feb 5, 2021 at 9:56 PM Jiri Olsa <jo...@redhat.com> wrote: > > On Fri, Feb 05, 2021 at 09:14:54PM +0900, Namhyung Kim wrote: > > On Sun, Jan 31, 2021 at 8:49 AM Jiri Olsa <jo...@kernel.org> wrote: > > [SNIP] > > > @@ -263,9 +605,16 @@ static int __cmd_start(struct daemon *daemon, struct > > > option parent_options[], > > > signal(SIGTERM, sig_handler); > > > > > > while (!done && !err) { > > > - if (fdarray__poll(&fda, -1)) { > > > + err = daemon__reconfig(daemon); > > > > I think it's confusing since you put the reconfig function here. > > What not split normal and reconfig passes? > > hum, not sure what's confusing in here? I've been known to > produce confusing code, but this one seems clear to me
Maybe it's because of the name. I thought reconfig is a special case when it detects some change. But you call it in the loop unconditionally. > > > > > I mean something like below > > > > __cmd_start() > > { > > setup_server_config(); > > daemon__run(); > > what's daemon__run? the daemon operates in the while loop below I thought about starting the sessions in the config. > > > > > while (!done && !err) { > > ... > > if (reconfig) { > > daemon__kill(); > > you don't kill daemon for each reconfig change, > we detect changed sessions and kill/restart only them Yep, we can make it that way. > > > setup_server_config(); > > daemon__reconfig(); > > } > > } > > > so basically the current workflow is: > > setup_server_config <--- reads > config file, prepares session objects > > while (!done) { > daemon__reconfig <--- check > session objects states and run/stop them Hmm.. then how about rename it to daemon__handle_state() or daemon__do_loop() or something? Thanks, Namhyung > > if (fdarray__poll(&fda, -1)) { > > handle_config_changes(&reconfig) <--- was > there a config file change? > > if (reconfig) <--- yes, > setup_server_config <--- > change session objects/states > } > } > > thanks, > jirka >