forked from OSchip/llvm-project
[Support] Replace hand-written scope_exit with make_scope_exit.
No functionality change intended. llvm-svn: 325460
This commit is contained in:
parent
aed6e52b3c
commit
92387a8744
|
@ -9,6 +9,7 @@
|
|||
|
||||
#include "llvm/Support/LockFileManager.h"
|
||||
#include "llvm/ADT/None.h"
|
||||
#include "llvm/ADT/ScopeExit.h"
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
#include "llvm/ADT/StringExtras.h"
|
||||
#include "llvm/Support/Errc.h"
|
||||
|
@ -121,27 +122,6 @@ bool LockFileManager::processStillExecuting(StringRef HostID, int PID) {
|
|||
return true;
|
||||
}
|
||||
|
||||
namespace {
|
||||
|
||||
/// An RAII helper object for cleanups.
|
||||
class RAIICleanup {
|
||||
std::function<void()> Fn;
|
||||
bool Canceled = false;
|
||||
|
||||
public:
|
||||
RAIICleanup(std::function<void()> Fn) : Fn(Fn) {}
|
||||
|
||||
~RAIICleanup() {
|
||||
if (Canceled)
|
||||
return;
|
||||
Fn();
|
||||
}
|
||||
|
||||
void cancel() { Canceled = true; }
|
||||
};
|
||||
|
||||
} // end anonymous namespace
|
||||
|
||||
LockFileManager::LockFileManager(StringRef FileName)
|
||||
{
|
||||
this->FileName = FileName;
|
||||
|
@ -172,7 +152,7 @@ LockFileManager::LockFileManager(StringRef FileName)
|
|||
UniqueLockFile = std::move(*Temp);
|
||||
|
||||
// Make sure we discard the temporary file on exit.
|
||||
RAIICleanup RemoveTempFile([&]() {
|
||||
auto RemoveTempFile = llvm::make_scope_exit([&]() {
|
||||
if (Error E = UniqueLockFile->discard())
|
||||
setError(errorToErrorCode(std::move(E)));
|
||||
});
|
||||
|
@ -209,7 +189,7 @@ LockFileManager::LockFileManager(StringRef FileName)
|
|||
std::error_code EC =
|
||||
sys::fs::create_link(UniqueLockFile->TmpName, LockFileName);
|
||||
if (!EC) {
|
||||
RemoveTempFile.cancel();
|
||||
RemoveTempFile.release();
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue