Age | Commit message (Collapse) | Author | Files | Lines |
|
* Optimise header file usage a bit.
* Compile the parser as C++.
|
|
|
|
files after we've closed them. Since this only succeeds if the lock
is no longer opened by any process, the token trick used on Unix is
not necessary.
|
|
concurrent nix-env operations on the same profile. Fixes NIX-7.
|
|
|
|
lock they are waiting on has become stale (we do this by writing a
meaningless token to the unlinked file).
|
|
parallel as possible (similar to GNU Make's `-j' switch). This is
useful on SMP systems, but it is especially useful for doing builds
on multiple machines. The idea is that a large derivation is
initiated on one master machine, which then distributes
sub-derivations to any number of slave machines. This should not
happen synchronously or in lock-step, so the master must be capable
of dealing with multiple parallel build jobs. We now have the
infrastructure to support this.
TODO: substitutes are currently broken.
|
|
Nix. This is to prevent Berkeley DB from becoming wedged.
Unfortunately it is not possible to throw C++ exceptions from a
signal handler. In fact, you can't do much of anything except
change variables of type `volatile sig_atomic_t'. So we set an
interrupt flag in the signal handler and check it at various
strategic locations in the code (by calling checkInterrupt()).
Since this is unlikely to cover all cases (e.g., (semi-)infinite
loops), sometimes SIGTERM may now be required to kill Nix.
|
|
removal.
|
|
|
|
|