[Support] Replace hand-written scope_exit with make_scope_exit.

No functionality change intended.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@325460 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Benjamin Kramer 2018-02-18 16:05:40 +00:00
parent d8f5710501
commit ef788ddab2

View File

@ -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;
}