48 lines
1.3 KiB
Diff
48 lines
1.3 KiB
Diff
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 */
|