about summary refs log tree commit diff
path: root/src/libstore/pathlocks.cc
AgeCommit message (Collapse)AuthorFilesLines
2005-01-27 * Make lock removal safe by signalling to blocked processes that theEelco Dolstra1-22/+43
lock they are waiting on has become stale (we do this by writing a meaningless token to the unlinked file).
2004-05-11 * True parallel builds. Nix can now run as many build jobs inEelco Dolstra1-2/+20
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.
2004-01-15 * Catch SIGINT to terminate cleanly when the user tries to interruptEelco Dolstra1-1/+6
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.
2003-12-21 * Bug fix: parallel builds of the same derivation failed due to lock file ↵Eelco Dolstra1-3/+5
removal.
2003-11-21 * Remove lock files after building. Eelco Dolstra1-1/+13
2003-11-18 * libnix -> libstore.Eelco Dolstra1-0/+90