* make gm wire-up endian safe
This commit was SVN r9179.
Этот коммит содержится в:
родитель
d9fd35d399
Коммит
579e74290f
@ -422,6 +422,7 @@ mca_btl_gm_modex_send(void)
|
||||
for (i = 0; i < mca_btl_gm_component.gm_num_btls; i++) {
|
||||
mca_btl_gm_module_t *btl = mca_btl_gm_component.gm_btls[i];
|
||||
addrs[i] = btl->gm_addr;
|
||||
MCA_BTL_GM_ADDR_HTON(addrs[i]);
|
||||
}
|
||||
}
|
||||
rc = mca_pml_base_modex_send (&mca_btl_gm_component.super.btl_version, addrs, size);
|
||||
|
@ -25,6 +25,11 @@
|
||||
#include "ompi/mca/btl/btl.h"
|
||||
#include "btl_gm_frag.h"
|
||||
#include "btl_gm.h"
|
||||
|
||||
#ifdef HAVE_ARPA_INET_H
|
||||
#include <arpa/inet.h>
|
||||
#endif
|
||||
|
||||
#if defined(c_plusplus) || defined(__cplusplus)
|
||||
extern "C" {
|
||||
#endif
|
||||
@ -43,7 +48,26 @@ struct mca_btl_gm_addr_t {
|
||||
unsigned int port_id;
|
||||
};
|
||||
typedef struct mca_btl_gm_addr_t mca_btl_gm_addr_t;
|
||||
|
||||
|
||||
#if GM_API_VERSION > 0x200
|
||||
#define MCA_BTL_GM_ADDR_HTON(addr) \
|
||||
addr.global_id = htonl(addr.global_id); \
|
||||
addr.node_id = htonl(addr.node_id); \
|
||||
addr.port_id = htonl(addr.port_id);
|
||||
|
||||
#define MCA_BTL_GM_ADDR_NTOH(addr) \
|
||||
addr.global_id = ntohl(addr.global_id); \
|
||||
addr.node_id = ntohl(addr.node_id); \
|
||||
addr.port_id = ntohl(addr.port_id);
|
||||
#else
|
||||
#define MCA_BTL_GM_ADDR_HTON(addr) \
|
||||
addr.node_id = htonl(addr.node_id); \
|
||||
addr.port_id = htonl(addr.port_id);
|
||||
|
||||
#define MCA_BTL_GM_ADDR_NTOH(addr) \
|
||||
addr.node_id = ntohl(addr.node_id); \
|
||||
addr.port_id = ntohl(addr.port_id);
|
||||
#endif
|
||||
|
||||
/**
|
||||
* An abstraction that represents a connection to a endpoint process.
|
||||
|
@ -102,7 +102,7 @@ mca_btl_gm_proc_t* mca_btl_gm_proc_create(ompi_proc_t* ompi_proc)
|
||||
{
|
||||
mca_btl_gm_proc_t* gm_proc = NULL;
|
||||
size_t size;
|
||||
int rc;
|
||||
int rc, i;
|
||||
|
||||
/* Check if we have already created a GM proc
|
||||
* structure for this ompi process */
|
||||
@ -148,6 +148,11 @@ mca_btl_gm_proc_t* mca_btl_gm_proc_create(ompi_proc_t* ompi_proc)
|
||||
OBJ_RELEASE(gm_proc);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
for (i = 0 ; i < gm_proc->proc_addr_count; ++i) {
|
||||
MCA_BTL_GM_ADDR_NTOH(gm_proc->proc_addrs[i]);
|
||||
}
|
||||
|
||||
return gm_proc;
|
||||
}
|
||||
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user