diff options
author | Pavel Moravec <pmoravec@apache.org> | 2014-01-17 12:32:29 +0000 |
---|---|---|
committer | Pavel Moravec <pmoravec@apache.org> | 2014-01-17 12:32:29 +0000 |
commit | cdf9dd41327c461b5c5264566992bc4e312cc97f (patch) | |
tree | 18ccc588cb9080f62c956b89cba54c07449ebfa7 | |
parent | d67d47bcc9324164752bbf9948d0e6870b3efb05 (diff) | |
download | qpid-python-cdf9dd41327c461b5c5264566992bc4e312cc97f.tar.gz |
QPID-5486: Creating paged queue can overwrite existing qpidd files
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1559090 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | qpid/cpp/src/qpid/sys/posix/MemoryMappedFile.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/qpid/cpp/src/qpid/sys/posix/MemoryMappedFile.cpp b/qpid/cpp/src/qpid/sys/posix/MemoryMappedFile.cpp index 9a406fe03f..f647ab3943 100644 --- a/qpid/cpp/src/qpid/sys/posix/MemoryMappedFile.cpp +++ b/qpid/cpp/src/qpid/sys/posix/MemoryMappedFile.cpp @@ -65,8 +65,7 @@ std::string MemoryMappedFile::open(const std::string& name, const std::string& d { std::string path = getFileName(name, directory); - if (access(path.c_str(), F_OK) != -1) throw qpid::Exception(QPID_MSG("Attempting to re-write file " << path << " for paged queue \"" << name << "\"")); - int flags = O_CREAT | O_TRUNC | O_RDWR; + int flags = O_CREAT | O_EXCL | O_RDWR; int fd = ::open(path.c_str(), flags, S_IRUSR | S_IWUSR); if (fd == -1) throw qpid::Exception(QPID_MSG("Failed to open memory mapped file " << path << ": " << qpid::sys::strError(errno) << " [flags=" << flags << "]")); state->fd = fd; |