mirror of
https://github.com/NixOS/nix.git
synced 2025-11-15 23:12:44 +01:00
* It is tough to contribute to a project that doesn't use a formatter, * It is extra hard to contribute to a project which has configured the formatter, but ignores it for some files * Code formatting makes it harder to hide obscure / weird bugs by accident or on purpose, Let's rip the bandaid off? Note that PRs currently in flight should be able to be merged relatively easily by applying `clang-format` to their tip prior to merge.
36 lines
593 B
C++
36 lines
593 B
C++
#include "nix/store/pathlocks.hh"
|
|
#include "nix/util/util.hh"
|
|
#include "nix/util/sync.hh"
|
|
#include "nix/util/signals.hh"
|
|
|
|
#include <cerrno>
|
|
#include <cstdlib>
|
|
|
|
namespace nix {
|
|
|
|
PathLocks::PathLocks()
|
|
: deletePaths(false)
|
|
{
|
|
}
|
|
|
|
PathLocks::PathLocks(const PathSet & paths, const std::string & waitMsg)
|
|
: deletePaths(false)
|
|
{
|
|
lockPaths(paths, waitMsg);
|
|
}
|
|
|
|
PathLocks::~PathLocks()
|
|
{
|
|
try {
|
|
unlock();
|
|
} catch (...) {
|
|
ignoreExceptionInDestructor();
|
|
}
|
|
}
|
|
|
|
void PathLocks::setDeletion(bool deletePaths)
|
|
{
|
|
this->deletePaths = deletePaths;
|
|
}
|
|
|
|
} // namespace nix
|