Subject: Re: [Boost-build] question(s) about bjam code
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2017-10-06 02:31:37
On 10/05/2017 08:12 PM, Stefan Seefeld via Boost-build wrote:
> I'm looking at
> https://github.com/boostorg/build/blob/develop/src/engine/make1.c#L326, and
> wonder why, despite the inline comment above the referenced line, this is not
> the first statement to be executed in the make1a function. I understand that the
> make1a function may be called multiple times from different locations, but
> should be ignored (i.e., should be a noop) in all but one case.
> However, each time the function is called, its parent's async counter is
> incremented (as long as this target 's progress is not yet RUNNING).
A depends on C
B depends on C
We enter make1a for C twice, once with each parent,
A and B. A and B both need to wait for C to complete,
hence we increment the async counter both times.
We only skip this if C has already completed, and
no waiting is required.
> Am I missing something ?
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk