On Sat, Nov 28, 2015 at 11:08:05AM -0800, John Johansen wrote:
> +static void setup_parallel_compile(void)
> +{
> +     /* jobs_count and paralell_max set by default, config or args */
> +     long n = sysconf(_SC_NPROCESSORS_ONLN);

We should handle an error return here ..

> +     if (jobs_count == JOBS_AUTO)
> +             jobs_count = n;
> +     if (jobs_max == JOBS_AUTO)
> +             jobs_max = n;
> +     /* jobs_max will be used internally */
> +     jobs_max = min(jobs_count, jobs_max);
> +     if (jobs_max > 8*n) {
> +             PERROR("%s: Invalid maximum number of jobs '%ld' > 8 * # of 
> cpus",
> +                    progname, jobs_max);
> +             exit(1);                
> +     }
> +     else if (jobs_max < 1) {
> +             PERROR("%s: Invalid maximum number of jobs '%ld'",
> +                    progname, jobs_max);
> +             exit(1);
> +     }

.. because this test could be tripped with a -1 return from sysconf().

If sysconf() fails we should probably just go with n = 2 or something
conservative.

I like the cap on eight times the number of CPUs.

Thanks

Attachment: signature.asc
Description: Digital signature

-- 
AppArmor mailing list
[email protected]
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/apparmor

Reply via email to