mirror of
https://github.com/boostorg/build.git
synced 2026-02-16 13:22:11 +00:00
Boost Jam code cleanup - rearranged popping state off the main build state machine stack after executing an external process command so that we do not use data from a freed state node. Freed state nodes actually get transferred to some 'freed state node list' so they still exist and this was not causing access violations but it was still a smell.
[SVN r79087]
This commit is contained in:
@@ -543,15 +543,15 @@ static void make1c( state * pState )
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Pop state first because exec_wait() will push state. */
|
||||
pop_state( &state_stack );
|
||||
/* Increment the jobs running counter. */
|
||||
++cmdsrunning;
|
||||
|
||||
/* Execute the actual build command. */
|
||||
exec_cmd( cmd->buf, make_closure, pState->t, cmd->shell, rule_name,
|
||||
target_name );
|
||||
|
||||
/* Increment the jobs running counter. */
|
||||
++cmdsrunning;
|
||||
/* Pop state first because exec_wait() will push state. */
|
||||
pop_state( &state_stack );
|
||||
|
||||
/* Wait until we are under the concurrent command count limit. */
|
||||
assert( 0 < globs.jobs );
|
||||
|
||||
Reference in New Issue
Block a user