mirror of
https://github.com/RPCS3/llvm.git
synced 2024-11-28 14:10:55 +00:00
[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:
parent
d8f5710501
commit
ef788ddab2
@ -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
Block a user