Fixed bug in packed buffer recv (mca_oob_recv_packed).
- this code will change again tomorrow when oob allocates memory for me Started to get ready to remove all the last remains of the old oob pack. - ifdefd until we are sure we got them all, and then its delete time. This commit was SVN r2108.
Этот коммит содержится в:
родитель
b80731b4d3
Коммит
973c731406
@ -47,6 +47,7 @@ extern ompi_process_name_t mca_oob_name_self;
|
||||
* OOB API
|
||||
*/
|
||||
|
||||
#if 0 /* not used anymore */
|
||||
/**
|
||||
* Supported datatypes for conversion operations.
|
||||
*/
|
||||
@ -58,6 +59,8 @@ typedef enum {
|
||||
MCA_OOB_BASE_PACKED /**< already packed data. */
|
||||
} mca_oob_base_type_t;
|
||||
|
||||
#endif
|
||||
|
||||
/**
|
||||
* General flags for send/recv
|
||||
*
|
||||
@ -288,6 +291,7 @@ int mca_oob_recv_nb(
|
||||
mca_oob_callback_fn_t cbfunc,
|
||||
void* cbdata);
|
||||
|
||||
#if 0 /* not used any more */
|
||||
/*
|
||||
* functions for pack and unpack routines
|
||||
*/
|
||||
@ -318,6 +322,7 @@ int mca_oob_base_pack(void * dest, void * src, size_t n, mca_oob_base_type_t typ
|
||||
*/
|
||||
|
||||
int mca_oob_base_unpack(void * dest, void * src, size_t n, mca_oob_base_type_t type);
|
||||
#endif
|
||||
|
||||
|
||||
#if defined(c_plusplus) || defined(__cplusplus)
|
||||
|
@ -6,6 +6,9 @@
|
||||
*
|
||||
* The pack and unpack routines for the oob
|
||||
*/
|
||||
|
||||
#if 0 /* these routines no longer used.. we hope. replaced by higher level util/[buffer] pack routines */
|
||||
|
||||
#include "mca/oob/base/base.h"
|
||||
#include <string.h>
|
||||
#include <netinet/in.h>
|
||||
@ -102,3 +105,4 @@ int mca_oob_base_unpack(void * dest, void * src, size_t n, mca_oob_base_type_t t
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -56,12 +56,13 @@ int mca_oob_recv_packed (ompi_process_name_t* peer, ompi_buffer_t *buf, int* tag
|
||||
|
||||
if (OMPI_ERROR==insize) { return (rc); }
|
||||
|
||||
rc = ompi_buffer_init (&tmpbuf, insize);
|
||||
if (OMPI_ERROR==rc) { return (rc); }
|
||||
rc = ompi_buffer_get_ptrs (tmpbuf, &targetptr, NULL, NULL);
|
||||
targetptr = (void*) malloc (insize);
|
||||
if (!targetptr) { return (OMPI_ERROR); }
|
||||
|
||||
rc = ompi_buffer_init_preallocated (&tmpbuf, targetptr, insize);
|
||||
if (OMPI_ERROR==rc) { return (rc); }
|
||||
|
||||
/* now update the second IOV */
|
||||
/* now update the IOV */
|
||||
msg[0].iov_base = (char*) targetptr;
|
||||
msg[0].iov_len = insize;
|
||||
|
||||
|
Загрузка…
Ссылка в новой задаче
Block a user