[PATCH 0/3] the_repository initialization cleanup

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

 



On Thu, Aug 01, 2019 at 01:24:17PM -0400, Jeff Hostetler wrote:

> > By the way, I wondered why trace2's existing config reading did not
> > cause us to segfault because of this. It is because it invented the
> > "very early config" function which always ignores some config sources
> > (working around this problem, but also making it weirdly unlike most
> > other config).
> 
> Yes, I added the "very early config" to try to work around some of
> the chicken-n-egg problems.  I can't say that I was completely happy
> with having to do that.  I haven't had time to play with your patch
> suggestion here, but I think it would be fine to do if it will help
> with the original problem.
> 
> In [1] I added code to just start the clock in isolation (rather than
> being part of the trace2_initialize() -- which does all the config
> loading and subsystem initialization).  So it is OK to let the
> trace2_initialize() run a little later.  (Part of the reason for that
> split was to allow git_resolve_executable_dir() to run first, since
> that data was needed to find the location of the system config relative
> to the exe path (sigh).)
> 
> [1] a089724958a trace2: refactor setting process starting time
> 
> So, as you suggested in your previous response, something like
> this would/should be fine.

Thanks, that pointer helped me write the commit message. So here are a
few cleanups that can go on top (of master now, since Dscho's patch
graduated). There's no rush to get these into v2.23.

Note that there _is_ still a funny corner case with the way the original
patch checks the_repository->git_dir, but I don't think it's worth
fixing at this point. I'll send a followup email with more details.

  [1/3]: t1309: use short branch name in includeIf.onbranch test
  [2/3]: common-main: delay trace2 initialization
  [3/3]: config: stop checking whether the_repository is NULL

 common-main.c           | 8 ++++----
 config.c                | 2 +-
 t/t1309-early-config.sh | 7 ++++++-
 3 files changed, 11 insertions(+), 6 deletions(-)

-Peff



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux