Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow parallell make in Configure #2332

Conversation

levitte
Copy link
Member

@levitte levitte commented Jan 31, 2017

If someone tries this:

MAKE='make -j8' ./config

then Configure ends up doing this:

make -j8 links depend gentests

Doing those three in parallell leads to a race condition that may very well
cause issue such as tests not being run (because they all get linked to a
dummy that does nothing instead of the real test).

To mitigate this, execute the three targets in one make call each.

Fixes #2331

Configure Outdated
push @make_targets, "links" if $symlink;
push @make_targets, "depend" if $depflags ne $default_depflags && $make_depend;
push @make_targets, "gentests" if $symlink;
foreach my $make_target (@make_targets) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh, missed a nit: bad indent

If someone tries this:

    MAKE='make -j8' ./config

then Configure ends up doing this:

    make -j8 links depend gentests

Doing those three in parallell leads to a race condition that may very well
cause issue such as tests not being run (because they all get linked to a
dummy that does nothing instead of the real test).

To mitigate this, execute the three targets in one make call each.
@levitte levitte force-pushed the allow-parallell-make-in-Configure branch from 0b8200a to a85fc63 Compare January 31, 2017 17:48
@levitte
Copy link
Member Author

levitte commented Jan 31, 2017

Nits fixed

@ekasper
Copy link
Contributor

ekasper commented Jan 31, 2017

ship. thanks!

levitte added a commit that referenced this pull request Jan 31, 2017
If someone tries this:

    MAKE='make -j8' ./config

then Configure ends up doing this:

    make -j8 links depend gentests

Doing those three in parallell leads to a race condition that may very well
cause issue such as tests not being run (because they all get linked to a
dummy that does nothing instead of the real test).

To mitigate this, execute the three targets in one make call each.

Reviewed-by: Emilia Käsper <emilia@openssl.org>
(Merged from #2332)
@levitte
Copy link
Member Author

levitte commented Jan 31, 2017

Merged. 43b1a3d

@levitte levitte closed this Jan 31, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants