summaryrefslogtreecommitdiff
path: root/source/utilities
diff options
context:
space:
mode:
Diffstat (limited to 'source/utilities')
-rw-r--r--source/utilities/BulkHandler.h5
-rw-r--r--source/utilities/CaptiveThreadObject.cpp3
-rw-r--r--source/utilities/MemMappedFile.cpp10
-rw-r--r--source/utilities/MemMappedFile.h2
4 files changed, 12 insertions, 8 deletions
diff --git a/source/utilities/BulkHandler.h b/source/utilities/BulkHandler.h
index 71147ab..b441a67 100644
--- a/source/utilities/BulkHandler.h
+++ b/source/utilities/BulkHandler.h
@@ -56,14 +56,15 @@ public:
void HandleCommandRequest(uint16 session, uint32 chunkSize, uint64 offset, uint32 length, bool acknowledge);
private:
CLCDriverMethods *m_Methods;
+ CSemaphoreQueue m_ReceiveQueue;
Buffers *m_pBuffers;
LcmInterface *m_pLcmInterface;
Logger *m_pLogger;
BulkState m_State;
+ CThreadWrapper *m_pFileWriteThread;
TL_BulkVectorList_t *m_pBulkVector;
std::string m_sFilePath;
- CSemaphoreQueue m_ReceiveQueue;
- CThreadWrapper *m_pFileWriteThread;
+
private:
void HandleReadRequest(uint16 session, uint32 chunkSize, uint64 offset, uint32 length);
void HandleWriteRequest(uint16 session, uint32 chunkSize, uint64 offset, uint32 length);
diff --git a/source/utilities/CaptiveThreadObject.cpp b/source/utilities/CaptiveThreadObject.cpp
index e9eb472..052bbce 100644
--- a/source/utilities/CaptiveThreadObject.cpp
+++ b/source/utilities/CaptiveThreadObject.cpp
@@ -17,11 +17,10 @@
CCaptiveThreadObject::CCaptiveThreadObject()
: IsDying(0),
-#pragma warning(disable: 4355) // 'this' used before initialized but ok as thread starts in inactive state
Thread(ThreadEntry, this)
{
}
-#pragma warning(default: 4355)
+
CCaptiveThreadObject::~CCaptiveThreadObject()
{
diff --git a/source/utilities/MemMappedFile.cpp b/source/utilities/MemMappedFile.cpp
index 287c5b9..8d5905d 100644
--- a/source/utilities/MemMappedFile.cpp
+++ b/source/utilities/MemMappedFile.cpp
@@ -71,7 +71,10 @@ int MemMappedFile::LoadFileData(const char *path)
return FILE_OPENING_ERROR;
}
- size_ = ::GetFileSize(handle_, NULL);
+ uint64 SizeHigh = 0;
+
+ size_ = ::GetFileSize(handle_, (LPDWORD)&SizeHigh);
+ size_ = (SizeHigh << 32) | size_;
if (0 == size_) {
return 0;
@@ -113,8 +116,9 @@ int MemMappedFile::LoadFileData(const char *path)
size_ = fileStat.st_size;
- mappedData_ = static_cast<uint8 *>(mmap(0, size_, PROT_READ, MAP_PRIVATE | MAP_POPULATE, descriptor_, 0));
-
+ /* alway return MAP_FAILED to prevent memory consumption */
+ mappedData_ = (uint8 *)MAP_FAILED; //static_cast<uint8 *>(mmap(0, size_, PROT_READ, MAP_PRIVATE /*| MAP_POPULATE*/, descriptor_, 0));
+
if (MAP_FAILED != mappedData_) {
isMapped_ = true;
} else {
diff --git a/source/utilities/MemMappedFile.h b/source/utilities/MemMappedFile.h
index 8cc63f5..7995365 100644
--- a/source/utilities/MemMappedFile.h
+++ b/source/utilities/MemMappedFile.h
@@ -27,9 +27,9 @@ private:
std::string path_;
uint64 size_;
bool isMapped_;
- uint32 alignmentLength_;
uint8 *mappedData_;
int error_;
+ uint32 alignmentLength_;
#ifdef _WIN32
HANDLE handle_;
HANDLE memmap_;