1
1

All convertors with a zero length are considered as contiguous.

This commit was SVN r19913.
Этот коммит содержится в:
George Bosilca 2008-11-04 16:52:06 +00:00
родитель d37706f6f8
Коммит cf96404075
2 изменённых файлов: 4 добавлений и 2 удалений

Просмотреть файл

@ -46,6 +46,7 @@ static void ompi_convertor_construct( ompi_convertor_t* convertor )
convertor->stack_size = DT_STATIC_STACK_SIZE; convertor->stack_size = DT_STATIC_STACK_SIZE;
convertor->partial_length = 0; convertor->partial_length = 0;
convertor->remoteArch = ompi_mpi_local_arch; convertor->remoteArch = ompi_mpi_local_arch;
convertor->flags = DT_FLAG_NO_GAPS | CONVERTOR_COMPLETED;
} }
static void ompi_convertor_destruct( ompi_convertor_t* convertor ) static void ompi_convertor_destruct( ompi_convertor_t* convertor )
@ -464,7 +465,7 @@ int32_t ompi_convertor_set_position_nocheck( ompi_convertor_t* convertor,
* will not do anything. \ * will not do anything. \
*/ \ */ \
if( OPAL_UNLIKELY((0 == count) || (0 == datatype->size)) ) { \ if( OPAL_UNLIKELY((0 == count) || (0 == datatype->size)) ) { \
convertor->flags |= CONVERTOR_COMPLETED; \ convertor->flags |= DT_FLAG_NO_GAPS | CONVERTOR_COMPLETED; \
convertor->local_size = convertor->remote_size = 0; \ convertor->local_size = convertor->remote_size = 0; \
return OMPI_SUCCESS; \ return OMPI_SUCCESS; \
} \ } \

Просмотреть файл

@ -154,6 +154,7 @@ static inline int ompi_convertor_cleanup( ompi_convertor_t* convertor )
} }
convertor->pDesc = NULL; convertor->pDesc = NULL;
convertor->stack_pos = 0; convertor->stack_pos = 0;
convertor->flags = DT_FLAG_NO_GAPS | CONVERTOR_COMPLETED;
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }
@ -224,7 +225,7 @@ ompi_convertor_copy_and_prepare_for_send( const ompi_convertor_t* pSrcConv,
ompi_convertor_t* convertor ) ompi_convertor_t* convertor )
{ {
convertor->remoteArch = pSrcConv->remoteArch; convertor->remoteArch = pSrcConv->remoteArch;
convertor->flags = (pSrcConv->flags | flags); convertor->flags = pSrcConv->flags | flags;
convertor->master = pSrcConv->master; convertor->master = pSrcConv->master;
return ompi_convertor_prepare_for_send( convertor, datatype, count, pUserBuf ); return ompi_convertor_prepare_for_send( convertor, datatype, count, pUserBuf );