Hi Steven, all,

as I'm getting sucked deeper into the low-level bjam source code, I have a few questions, notably about the inner workings of the execution state machine in make1.c

(Please let me know if I should ask these questions offline, or in form of github issues (which github suggests to create if I click on an individual line of code in its browser).


Here is my first question:

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).

Am I missing something ?

Thanks !


Stefan
-- 

      ...ich hab' noch einen Koffer in Berlin...