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)
|
||||
, fHint(nullptr)
|
||||
{
|
||||
if (size) {
|
||||
fData = malloc(size);
|
||||
assert(fData);
|
||||
}
|
||||
}
|
||||
|
||||
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) {
|
||||
fFreeFunction(fData, fHint);
|
||||
fData = nullptr;
|
||||
fData = malloc(size);
|
||||
} else {
|
||||
fData = realloc(fData, size);
|
||||
free(fData);
|
||||
}
|
||||
if (size) {
|
||||
fData = malloc(size);
|
||||
assert(fData);
|
||||
} else {
|
||||
fData = nullptr;
|
||||
}
|
||||
assert(fData);
|
||||
fInitialSize = size;
|
||||
fSize = size;
|
||||
fFreeFunction = nullptr;
|
||||
|
@ -88,10 +95,14 @@ auto Message::Rebuild(void* data, const size_t size, fairmq_free_fn* ffn, void*
|
|||
{
|
||||
if (fFreeFunction) {
|
||||
fFreeFunction(fData, fHint);
|
||||
fData = nullptr;
|
||||
fData = malloc(size);
|
||||
} else {
|
||||
fData = realloc(fData, size);
|
||||
free(fData);
|
||||
}
|
||||
if (size) {
|
||||
fData = malloc(size);
|
||||
assert(fData);
|
||||
} else {
|
||||
fData = nullptr;
|
||||
}
|
||||
assert(fData);
|
||||
fInitialSize = size;
|
||||
|
|
Loading…
Reference in New Issue
Block a user