diff --git a/build/pack.c b/build/pack.c index 447e3ec94..21f22d5ca 100644 --- a/build/pack.c +++ b/build/pack.c @@ -742,25 +742,28 @@ static rpmRC packageBinary(rpmSpec spec, Package pkg, const char *cookie, int ch rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating) { rpmRC rc = RPMRC_OK; - Package pkg; /* Run binary creation in parallel */ #pragma omp parallel - #pragma omp single - for (pkg = spec->packages; pkg != NULL; pkg = pkg->next) { - #pragma omp task + { + #pragma omp single { - pkg->rc = packageBinary(spec, pkg, cookie, cheating, &pkg->filename); - rpmlog(RPMLOG_DEBUG, - _("Finished binary package job, result %d, filename %s\n"), - pkg->rc, pkg->filename); - if (pkg->rc) { - #pragma omp critical - rc = pkg->rc; + for (Package pkg = spec->packages; pkg != NULL; pkg = pkg->next) { + #pragma omp task + { + pkg->rc = packageBinary(spec, pkg, cookie, cheating, &pkg->filename); + rpmlog(RPMLOG_DEBUG, + _("Finished binary package job, result %d, filename %s\n"), + pkg->rc, pkg->filename); + if (pkg->rc) { + #pragma omp critical + rc = pkg->rc; + } + } /* omp task */ + if (rc) + break; + } } - } /* omp task */ - if (rc) - break; } /* Now check the package set if enabled */