On Sat, Feb 06, 2021 at 05:05:04PM +0900, Namhyung Kim wrote: > 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?
well it handles reconfig, so I don't think that there's better name than daemon__reconfig ;-) apart from handle_server_socket, all the other functions we call after poll can change session state, so we need to 'reconfig' sessions each time we do a loop jirka