summaryrefslogtreecommitdiff
path: root/source/utilities
diff options
context:
space:
mode:
authorViktor Mladenovski <viktor.mladenovski@seavus.com>2011-06-21 17:51:15 +0200
committerViktor Mladenovski <viktor.mladenovski@seavus.com>2011-06-21 17:51:15 +0200
commit12da7d3751c8b7bd088587c8323123019680efff (patch)
tree6e1e3f6a65e260ba8ffe2e1336a0cc4f0be145ba /source/utilities
parentf7e95217e936da34d7124aaced590692eb515923 (diff)
Flashing procedure stops at different stages
Adds fix for retransmission in LCM transport layer ST-Ericsson ID: 325725 ST-Ericsson FOSS-OUT ID: STETL-FOSS-OUT-10204 Change-Id: Ie6b32dcf6bf7b3023237920204e3c55ac0624a79
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_;