VirtualBox

Changeset 516 in kBuild for trunk/src


Ignore:
Timestamp:
Sep 15, 2006 9:15:26 AM (19 years ago)
Author:
bird
Message:

More parallel build fixes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/gmake/job.c

    r514 r516  
    15141514  c->remote = start_remote_job_p (1);
    15151515
     1516  if (c->file->command_flags & COMMANDS_NOTPARALLEL)
     1517    {
     1518      DB (DB_KMK, (_("not_parallel %d -> %d (file=%p `%s')\n"), not_parallel, not_parallel + 1, c->file, c->file->name));
     1519      ++not_parallel;
     1520    }
     1521
    15161522  /* If we are running at least one job already and the load average
    15171523     is too high, make this one wait.  */
    15181524  if (!c->remote
    1519       && ((job_slots_used > 0 && (not_parallel || (c->file->command_flags & COMMANDS_NOTPARALLEL) || load_too_high ()))
     1525      && ((job_slots_used > 0 && (not_parallel > 0 || load_too_high ()))
    15201526#ifdef WINDOWS32
    15211527          || (process_used_slots () >= MAXIMUM_WAIT_OBJECTS)
     
    15411547    }
    15421548
    1543   if (c->file->command_flags & COMMANDS_NOTPARALLEL)
    1544     {
    1545       DB (DB_KMK, (_("not_parallel %d -> %d (file=%p `%s')\n"), not_parallel, not_parallel + 1, c->file, c->file->name));
    1546       assert(not_parallel == 0);
    1547       ++not_parallel;
    1548     }
    1549 
    15501549
    15511550  /* Start the first command; reap_children will run later command lines.  */
     
    18351834       Wait for the child to die, setting the state to `cs_finished'.  */
    18361835    while (file->command_state == cs_running
    1837         && (job_slots == 1 || not_parallel > 0))
     1836        && (job_slots == 1 || not_parallel > 0)
     1837        && (children != 0 || shell_function_pid != 0) /* reap_child condition - hackish! */)
    18381838      reap_children (1, 0);
    18391839
     
    19861986      job = waiting_jobs;
    19871987      waiting_jobs = job->next;
     1988
     1989      /* we've already counted it. */
     1990      if (job->file->command_flags & COMMANDS_NOTPARALLEL)
     1991        {
     1992          DB (DB_KMK, (_("not_parallel %d -> %d (file=%p `%s') [waiting job]\n"), not_parallel, not_parallel - 1, job->file, job->file->name));
     1993          --not_parallel;
     1994        }
    19881995
    19891996      /* Try to start that job.  We break out of the loop as soon
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette