diff options
-rw-r--r-- | lib/Debugger/FDHandle.cpp | 33 | ||||
-rw-r--r-- | lib/Debugger/FDHandle.h | 62 |
2 files changed, 0 insertions, 95 deletions
diff --git a/lib/Debugger/FDHandle.cpp b/lib/Debugger/FDHandle.cpp deleted file mode 100644 index 4f952f2..0000000 --- a/lib/Debugger/FDHandle.cpp +++ /dev/null @@ -1,33 +0,0 @@ -//===- lib/Debugger/FDHandle.cpp - File Descriptor Handle -----------------===// -// -// The LLVM Compiler Infrastructure -// -// This file was developed by the LLVM research group and is distributed under -// the University of Illinois Open Source License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file implements a class for ensuring that Unix file handles get closed. -// -//===----------------------------------------------------------------------===// - -#include "FDHandle.h" -#include <unistd.h> - -using namespace llvm; - -//===----------------------------------------------------------------------===// -// FDHandle class implementation -// - -FDHandle::~FDHandle() throw() { - if (FD != -1) - ::close(FD); -} - -FDHandle &FDHandle::operator=(int fd) throw() { - if (FD != -1) - ::close(FD); - FD = fd; - return *this; -} diff --git a/lib/Debugger/FDHandle.h b/lib/Debugger/FDHandle.h deleted file mode 100644 index 56b5aa2..0000000 --- a/lib/Debugger/FDHandle.h +++ /dev/null @@ -1,62 +0,0 @@ -//===- lib/Debugger/FDHandle.h - File Descriptor Handle ---------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file was developed by the LLVM research group and is distributed under -// the University of Illinois Open Source License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file defines a family of utility functions which are useful for doing -// various things with files. -// -//===----------------------------------------------------------------------===// - -#ifndef LIB_DEBUGGER_FDHANDLE_H -#define LIB_DEBUGGER_FDHANDLE_H - -#include "llvm/System/Path.h" - -namespace llvm { - -/// FDHandle - Simple handle class to make sure a file descriptor gets closed -/// when the object is destroyed. This handle acts similarly to an -/// std::auto_ptr, in that the copy constructor and assignment operators -/// transfer ownership of the handle. This means that FDHandle's do not have -/// value semantics. -/// -class FDHandle { - int FD; -public: - FDHandle() : FD(-1) {} - FDHandle(int fd) : FD(fd) {} - FDHandle(FDHandle &RHS) : FD(RHS.FD) { - RHS.FD = -1; // Transfer ownership - } - - ~FDHandle() throw(); - - /// get - Get the current file descriptor, without releasing ownership of it. - int get() const { return FD; } - operator int() const { return FD; } - - FDHandle &operator=(int fd) throw(); - - FDHandle &operator=(FDHandle &RHS) { - int fd = RHS.FD; - RHS.FD = -1; // Transfer ownership - return operator=(fd); - } - - /// release - Take ownership of the file descriptor away from the FDHandle - /// object, so that the file is not closed when the FDHandle is destroyed. - int release() { - int Ret = FD; - FD = -1; - return Ret; - } -}; - -} // End llvm namespace - -#endif |