Copy the packed buffer when we duplicate a basic datatype.
This commit was SVN r8931.
Этот коммит содержится в:
родитель
e3ded6f8cf
Коммит
f96f9afc27
@ -48,6 +48,7 @@ static void __get_free_dt_struct( ompi_datatype_t* pData )
|
|||||||
pData->d_f_to_c_index = ompi_pointer_array_add(ompi_datatype_f_to_c_table, pData);
|
pData->d_f_to_c_index = ompi_pointer_array_add(ompi_datatype_f_to_c_table, pData);
|
||||||
pData->d_keyhash = NULL;
|
pData->d_keyhash = NULL;
|
||||||
pData->name[0] = '\0';
|
pData->name[0] = '\0';
|
||||||
|
pData->packed_description = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __destroy_ddt_struct( ompi_datatype_t* datatype )
|
static void __destroy_ddt_struct( ompi_datatype_t* datatype )
|
||||||
|
@ -288,6 +288,8 @@ int ompi_ddt_local_sizes[DT_MAX_PREDEFINED];
|
|||||||
if( (PDST)->opt_desc.desc != NULL ) \
|
if( (PDST)->opt_desc.desc != NULL ) \
|
||||||
free( (PDST)->opt_desc.desc ); \
|
free( (PDST)->opt_desc.desc ); \
|
||||||
(PDST)->opt_desc = (PSRC)->opt_desc; \
|
(PDST)->opt_desc = (PSRC)->opt_desc; \
|
||||||
|
(PDST)->packed_description = (PSRC)->packed_description; \
|
||||||
|
(PSRC)->packed_description = NULL; \
|
||||||
memcpy( (PDST)->btypes, (PSRC)->btypes, \
|
memcpy( (PDST)->btypes, (PSRC)->btypes, \
|
||||||
DT_MAX_PREDEFINED * sizeof(uint32_t) ); \
|
DT_MAX_PREDEFINED * sizeof(uint32_t) ); \
|
||||||
} while(0)
|
} while(0)
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user