mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-13 08:41:16 +00:00
FairMQ: Fix ofi::Message allocation
This commit is contained in:
parent
e8994dfa0f
commit
de8f32e9f9
|
@ -38,6 +38,10 @@ Message::Message(const size_t size)
|
||||||
, fFreeFunction(nullptr)
|
, fFreeFunction(nullptr)
|
||||||
, fHint(nullptr)
|
, fHint(nullptr)
|
||||||
{
|
{
|
||||||
|
if (size) {
|
||||||
|
fData = malloc(size);
|
||||||
|
assert(fData);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Message::Message(void* data, const size_t size, fairmq_free_fn* ffn, void* hint)
|
Message::Message(void* data, const size_t size, fairmq_free_fn* ffn, void* hint)
|
||||||
|
@ -72,12 +76,15 @@ auto Message::Rebuild(const size_t size) -> void
|
||||||
{
|
{
|
||||||
if (fFreeFunction) {
|
if (fFreeFunction) {
|
||||||
fFreeFunction(fData, fHint);
|
fFreeFunction(fData, fHint);
|
||||||
fData = nullptr;
|
|
||||||
fData = malloc(size);
|
|
||||||
} else {
|
} else {
|
||||||
fData = realloc(fData, size);
|
free(fData);
|
||||||
}
|
}
|
||||||
|
if (size) {
|
||||||
|
fData = malloc(size);
|
||||||
assert(fData);
|
assert(fData);
|
||||||
|
} else {
|
||||||
|
fData = nullptr;
|
||||||
|
}
|
||||||
fInitialSize = size;
|
fInitialSize = size;
|
||||||
fSize = size;
|
fSize = size;
|
||||||
fFreeFunction = nullptr;
|
fFreeFunction = nullptr;
|
||||||
|
@ -88,10 +95,14 @@ auto Message::Rebuild(void* data, const size_t size, fairmq_free_fn* ffn, void*
|
||||||
{
|
{
|
||||||
if (fFreeFunction) {
|
if (fFreeFunction) {
|
||||||
fFreeFunction(fData, fHint);
|
fFreeFunction(fData, fHint);
|
||||||
fData = nullptr;
|
|
||||||
fData = malloc(size);
|
|
||||||
} else {
|
} else {
|
||||||
fData = realloc(fData, size);
|
free(fData);
|
||||||
|
}
|
||||||
|
if (size) {
|
||||||
|
fData = malloc(size);
|
||||||
|
assert(fData);
|
||||||
|
} else {
|
||||||
|
fData = nullptr;
|
||||||
}
|
}
|
||||||
assert(fData);
|
assert(fData);
|
||||||
fInitialSize = size;
|
fInitialSize = size;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user