You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by jb...@apache.org on 2017/09/08 04:55:40 UTC
[geode-native] branch develop updated: GEODE-3574 Removing
GF_ALLOC/RESIZE/FREE macros
This is an automated email from the ASF dual-hosted git repository.
jbarrett pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode-native.git
The following commit(s) were added to refs/heads/develop by this push:
new 9e24335 GEODE-3574 Removing GF_ALLOC/RESIZE/FREE macros
9e24335 is described below
commit 9e24335445f9b4772cbbc79ca2b8ebd97cb2b84f
Author: Mark Hanson <mh...@pivotal.io>
AuthorDate: Thu Sep 7 14:30:28 2017 -0700
GEODE-3574 Removing GF_ALLOC/RESIZE/FREE macros
---
cppcache/include/geode/DataOutput.hpp | 49 ++++++++--------------
.../testThinClientCacheablesLimits.cpp | 6 ++-
cppcache/src/DataOutput.cpp | 8 +++-
3 files changed, 29 insertions(+), 34 deletions(-)
diff --git a/cppcache/include/geode/DataOutput.hpp b/cppcache/include/geode/DataOutput.hpp
index 7c2aa84..a677ec5 100644
--- a/cppcache/include/geode/DataOutput.hpp
+++ b/cppcache/include/geode/DataOutput.hpp
@@ -39,33 +39,6 @@ namespace geode {
namespace client {
class SerializationRegistry;
class DataOutputInternal;
-/**
- * C style memory allocation that throws OutOfMemoryException
- * if it fails
- */
-#define GF_ALLOC(v, t, s) \
- { \
- v = (t*)malloc((s) * sizeof(t)); \
- if ((v) == nullptr) { \
- throw OutOfMemoryException( \
- "Out of Memory while allocating buffer for " #t " of size " #s); \
- } \
- }
-
-/**
- * C style memory re-allocation that throws OutOfMemoryException
- * if it fails
- */
-#define GF_RESIZE(v, t, s) \
- { \
- v = (t*)realloc(v, (s) * sizeof(t)); \
- if ((v) == nullptr) { \
- throw OutOfMemoryException( \
- "Out of Memory while resizing buffer for " #t); \
- } \
- }
-
-#define GF_FREE(v) free(v)
/**
* Provide operations for writing primitive data values, byte arrays,
@@ -652,7 +625,11 @@ class CPPCACHE_EXPORT DataOutput {
inline uint8_t* getBufferCopy() {
uint32_t size = static_cast<uint32_t>(m_buf - m_bytes);
uint8_t* result;
- GF_ALLOC(result, uint8_t, size);
+ result = (uint8_t *) std::malloc(size * sizeof(uint8_t));
+ if (result == nullptr) {
+ throw OutOfMemoryException(
+ "Out of Memory while resizing buffer");
+ }
std::memcpy(result, m_bytes, size);
return result;
}
@@ -671,9 +648,13 @@ class CPPCACHE_EXPORT DataOutput {
inline void reset() {
if (m_haveBigBuffer) {
// free existing buffer
- GF_FREE(m_bytes);
+ std::free(m_bytes);
// create smaller buffer
- GF_ALLOC(m_bytes, uint8_t, m_lowWaterMark);
+ m_bytes = (uint8_t *) std::malloc(m_lowWaterMark* sizeof(uint8_t));
+ if (m_bytes == nullptr) {
+ throw OutOfMemoryException(
+ "Out of Memory while resizing buffer");
+ }
m_size = m_lowWaterMark;
// reset the flag
m_haveBigBuffer = false;
@@ -695,7 +676,13 @@ class CPPCACHE_EXPORT DataOutput {
m_haveBigBuffer = true;
}
m_size = newSize;
- GF_RESIZE(m_bytes, uint8_t, m_size);
+
+ auto tmp = (uint8_t *) std::realloc(m_bytes, m_size * sizeof(uint8_t));
+ if (tmp == nullptr) {
+ throw OutOfMemoryException(
+ "Out of Memory while resizing buffer");
+ }
+ m_bytes = tmp;
m_buf = m_bytes + offset;
}
}
diff --git a/cppcache/integration-test/testThinClientCacheablesLimits.cpp b/cppcache/integration-test/testThinClientCacheablesLimits.cpp
index 7f59aea..1b70a5f 100644
--- a/cppcache/integration-test/testThinClientCacheablesLimits.cpp
+++ b/cppcache/integration-test/testThinClientCacheablesLimits.cpp
@@ -78,7 +78,11 @@ uint8_t* createRandByteArray(int size) {
}
char* createRandCharArray(int size) {
char* ch;
- GF_ALLOC(ch, char, size + 1);
+ ch = (char *) std::malloc((size + 1) * sizeof(char));
+ if (ch == nullptr) {
+ throw OutOfMemoryException(
+ "Out of Memory while resizing buffer");
+ }
ch[size] = '\0';
int length = sizeof(charArray) / sizeof(char);
for (int i = 0; i < size; i++) {
diff --git a/cppcache/src/DataOutput.cpp b/cppcache/src/DataOutput.cpp
index 061f822..62ba33a 100644
--- a/cppcache/src/DataOutput.cpp
+++ b/cppcache/src/DataOutput.cpp
@@ -79,7 +79,11 @@ class TSSDataOutput {
} else {
uint8_t* buf;
*size = 8192;
- GF_ALLOC(buf, uint8_t, 8192);
+ buf = (uint8_t *) std::malloc(8192 * sizeof(uint8_t));
+ if (buf == nullptr) {
+ throw OutOfMemoryException(
+ "Out of Memory while resizing buffer");
+ }
return buf;
}
}
@@ -101,7 +105,7 @@ TSSDataOutput::~TSSDataOutput() {
while (!m_buffers.empty()) {
BufferDesc desc = m_buffers.back();
m_buffers.pop_back();
- GF_FREE(desc.m_buf);
+ std::free(desc.m_buf);
}
}
--
To stop receiving notification emails like this one, please contact
['"commits@geode.apache.org" <co...@geode.apache.org>'].