mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-10 08:16:15 +02:00
* Cleanup.
This commit is contained in:
parent
be88248add
commit
33ecb42991
1 changed files with 9 additions and 22 deletions
|
@ -830,8 +830,7 @@ void DerivationGoal::haveDerivation()
|
|||
/* Get the derivation. */
|
||||
drv = derivationFromPath(drvPath);
|
||||
|
||||
for (DerivationOutputs::iterator i = drv.outputs.begin();
|
||||
i != drv.outputs.end(); ++i)
|
||||
foreach (DerivationOutputs::iterator, i, drv.outputs)
|
||||
worker.store.addTempRoot(i->second.path);
|
||||
|
||||
/* Check what outputs paths are not already valid. */
|
||||
|
@ -850,8 +849,7 @@ void DerivationGoal::haveDerivation()
|
|||
where some other process is building it is handled through
|
||||
normal locking mechanisms.) So if any output paths are already
|
||||
being built, put this goal to sleep. */
|
||||
for (PathSet::iterator i = invalidOutputs.begin();
|
||||
i != invalidOutputs.end(); ++i)
|
||||
foreach (PathSet::iterator, i, invalidOutputs)
|
||||
if (pathIsLockedByMe(*i)) {
|
||||
/* Wait until any goal finishes (hopefully the one that is
|
||||
locking *i), then retry haveDerivation(). */
|
||||
|
@ -862,8 +860,7 @@ void DerivationGoal::haveDerivation()
|
|||
/* We are first going to try to create the invalid output paths
|
||||
through substitutes. If that doesn't work, we'll build
|
||||
them. */
|
||||
for (PathSet::iterator i = invalidOutputs.begin();
|
||||
i != invalidOutputs.end(); ++i)
|
||||
foreach (PathSet::iterator, i, invalidOutputs)
|
||||
/* Don't bother creating a substitution goal if there are no
|
||||
substitutes. */
|
||||
if (worker.store.hasSubstitutes(*i))
|
||||
|
@ -2755,9 +2752,7 @@ void Worker::waitForInput()
|
|||
struct timeval timeout;
|
||||
if (maxSilentTime != 0) {
|
||||
time_t oldest = 0;
|
||||
for (Children::iterator i = children.begin();
|
||||
i != children.end(); ++i)
|
||||
{
|
||||
foreach (Children::iterator, i, children) {
|
||||
oldest = oldest == 0 || i->second.lastOutput < oldest
|
||||
? i->second.lastOutput : oldest;
|
||||
}
|
||||
|
@ -2774,12 +2769,8 @@ void Worker::waitForInput()
|
|||
fd_set fds;
|
||||
FD_ZERO(&fds);
|
||||
int fdMax = 0;
|
||||
for (Children::iterator i = children.begin();
|
||||
i != children.end(); ++i)
|
||||
{
|
||||
for (set<int>::iterator j = i->second.fds.begin();
|
||||
j != i->second.fds.end(); ++j)
|
||||
{
|
||||
foreach (Children::iterator, i, children) {
|
||||
foreach (set<int>::iterator, j, i->second.fds) {
|
||||
FD_SET(*j, &fds);
|
||||
if (*j >= fdMax) fdMax = *j + 1;
|
||||
}
|
||||
|
@ -2799,13 +2790,9 @@ void Worker::waitForInput()
|
|||
careful that we don't keep iterators alive across calls to
|
||||
cancel(). */
|
||||
set<pid_t> pids;
|
||||
for (Children::iterator i = children.begin();
|
||||
i != children.end(); ++i)
|
||||
pids.insert(i->first);
|
||||
foreach (Children::iterator, i, children) pids.insert(i->first);
|
||||
|
||||
for (set<pid_t>::iterator i = pids.begin();
|
||||
i != pids.end(); ++i)
|
||||
{
|
||||
foreach (set<pid_t>::iterator, i, pids) {
|
||||
checkInterrupt();
|
||||
Children::iterator j = children.find(*i);
|
||||
if (j == children.end()) continue; // child destroyed
|
||||
|
@ -2813,7 +2800,7 @@ void Worker::waitForInput()
|
|||
assert(goal);
|
||||
|
||||
set<int> fds2(j->second.fds);
|
||||
for (set<int>::iterator k = fds2.begin(); k != fds2.end(); ++k) {
|
||||
foreach (set<int>::iterator, k, fds2) {
|
||||
if (FD_ISSET(*k, &fds)) {
|
||||
unsigned char buffer[4096];
|
||||
ssize_t rd = read(*k, buffer, sizeof(buffer));
|
||||
|
|
Loading…
Reference in a new issue