You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by gs...@apache.org on 2013/04/30 17:46:53 UTC

svn commit: r1477698 - in /qpid/trunk/qpid/cpp/src/qpid/sys: MemoryMappedFile.h posix/MemoryMappedFile.cpp windows/MemoryMappedFile.cpp

Author: gsim
Date: Tue Apr 30 15:46:53 2013
New Revision: 1477698

URL: http://svn.apache.org/r1477698
Log:
QPID-4339: fix for older compilers/c++ libraries

Modified:
    qpid/trunk/qpid/cpp/src/qpid/sys/MemoryMappedFile.h
    qpid/trunk/qpid/cpp/src/qpid/sys/posix/MemoryMappedFile.cpp
    qpid/trunk/qpid/cpp/src/qpid/sys/windows/MemoryMappedFile.cpp

Modified: qpid/trunk/qpid/cpp/src/qpid/sys/MemoryMappedFile.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/sys/MemoryMappedFile.h?rev=1477698&r1=1477697&r2=1477698&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/sys/MemoryMappedFile.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/sys/MemoryMappedFile.h Tue Apr 30 15:46:53 2013
@@ -21,7 +21,6 @@
  * under the License.
  *
  */
-#include <memory>
 #include <string>
 
 namespace qpid {
@@ -34,6 +33,7 @@ class MemoryMappedFilePrivate;
 class MemoryMappedFile {
   public:
     MemoryMappedFile();
+    ~MemoryMappedFile();
     /**
      * Opens a file that can be mapped by region into memory
      */
@@ -64,7 +64,7 @@ class MemoryMappedFile {
      */
     static bool isSupported();
   private:
-    std::auto_ptr<MemoryMappedFilePrivate> state;
+    MemoryMappedFilePrivate* state;
 
     MemoryMappedFile(const MemoryMappedFile&);
     MemoryMappedFile& operator=(const MemoryMappedFile&);

Modified: qpid/trunk/qpid/cpp/src/qpid/sys/posix/MemoryMappedFile.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/sys/posix/MemoryMappedFile.cpp?rev=1477698&r1=1477697&r2=1477698&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/sys/posix/MemoryMappedFile.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/sys/posix/MemoryMappedFile.cpp Tue Apr 30 15:46:53 2013
@@ -54,10 +54,11 @@ std::string getFileName(const std::strin
 class MemoryMappedFilePrivate
 {
     friend class MemoryMappedFile;
-    const int fd;
-    MemoryMappedFilePrivate(int fd_) : fd(fd_) {}
+    int fd;
+    MemoryMappedFilePrivate() : fd(0) {}
 };
-MemoryMappedFile::MemoryMappedFile() {}
+MemoryMappedFile::MemoryMappedFile() : state(new MemoryMappedFilePrivate) {}
+MemoryMappedFile::~MemoryMappedFile() { delete state; }
 
 std::string MemoryMappedFile::open(const std::string& name, const std::string& directory)
 {
@@ -66,7 +67,7 @@ std::string MemoryMappedFile::open(const
     int flags = O_CREAT | O_TRUNC | O_RDWR;
     int fd = ::open(path.c_str(), flags, S_IRWXU);
     if (fd == -1) throw qpid::Exception(QPID_MSG("Failed to open memory mapped file " << path << ": " << qpid::sys::strError(errno) << " [flags=" << flags << "]"));
-    state = std::auto_ptr<MemoryMappedFilePrivate>(new MemoryMappedFilePrivate(fd));
+    state->fd = fd;
     return path;
 }
 size_t MemoryMappedFile::getPageSize()

Modified: qpid/trunk/qpid/cpp/src/qpid/sys/windows/MemoryMappedFile.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/sys/windows/MemoryMappedFile.cpp?rev=1477698&r1=1477697&r2=1477698&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/sys/windows/MemoryMappedFile.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/sys/windows/MemoryMappedFile.cpp Tue Apr 30 15:46:53 2013
@@ -24,7 +24,8 @@ namespace qpid {
 namespace sys {
 class MemoryMappedFilePrivate {};
 
-MemoryMappedFile::MemoryMappedFile() {}
+MemoryMappedFile::MemoryMappedFile() : state(0) {}
+MemoryMappedFile::~MemoryMappedFile() {}
 
 std::string MemoryMappedFile::open(const std::string& /*name*/, const std::string& /*directory*/)
 {



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org