fix shmem mmap build on solaris. thanks terry.
This commit was SVN r24805.
Этот коммит содержится в:
родитель
856a9c43b1
Коммит
867df203bc
@ -39,9 +39,11 @@
|
||||
#ifdef HAVE_STRING_H
|
||||
#include <string.h>
|
||||
#endif /* HAVE_STRING_H */
|
||||
#ifdef HAVE_NETDB_H
|
||||
#include <netdb.h>
|
||||
#endif /* HAVE_NETDB_H */
|
||||
|
||||
#include "opal/constants.h"
|
||||
#include "opal_stdint.h"
|
||||
#include "opal/util/output.h"
|
||||
#include "opal/util/path.h"
|
||||
#include "opal/util/show_help.h"
|
||||
@ -110,11 +112,11 @@ shmem_ds_reset(opal_shmem_ds_t *ds_buf)
|
||||
OPAL_OUTPUT_VERBOSE(
|
||||
(70, opal_shmem_base_output,
|
||||
"%s: %s: shmem_ds_resetting "
|
||||
"(opid: %lu id: %d, size: %"PRIsize_t", name: %s)\n",
|
||||
"(opid: %lu id: %d, size: %lu, name: %s)\n",
|
||||
mca_shmem_mmap_component.super.base_version.mca_type_name,
|
||||
mca_shmem_mmap_component.super.base_version.mca_component_name,
|
||||
(unsigned long)ds_buf->opid, ds_buf->seg_id, ds_buf->seg_size,
|
||||
ds_buf->seg_name)
|
||||
(unsigned long)ds_buf->opid, ds_buf->seg_id,
|
||||
(unsigned long)ds_buf->seg_size, ds_buf->seg_name)
|
||||
);
|
||||
|
||||
ds_buf->opid = 0;
|
||||
@ -169,15 +171,15 @@ ds_copy(const opal_shmem_ds_t *from,
|
||||
OPAL_OUTPUT_VERBOSE(
|
||||
(70, opal_shmem_base_output,
|
||||
"%s: %s: ds_copy complete "
|
||||
"from: (opid: %lu, id: %d, size: %"PRIsize_t", "
|
||||
"from: (opid: %lu, id: %d, size: %lu, "
|
||||
"name: %s flags: 0x%02x) "
|
||||
"to: (opid: %lu, id: %d, size: %"PRIsize_t", "
|
||||
"to: (opid: %lu, id: %d, size: %lu, "
|
||||
"name: %s flags: 0x%02x)\n",
|
||||
mca_shmem_mmap_component.super.base_version.mca_type_name,
|
||||
mca_shmem_mmap_component.super.base_version.mca_component_name,
|
||||
(unsigned long)from->opid, from->seg_id, from->seg_size,
|
||||
(unsigned long)from->opid, from->seg_id, (unsigned long)from->seg_size,
|
||||
from->seg_name, from->flags, (unsigned long)to->opid, to->seg_id,
|
||||
to->seg_size, to->seg_name, to->flags)
|
||||
(unsigned long)to->seg_size, to->seg_name, to->flags)
|
||||
);
|
||||
|
||||
return OPAL_SUCCESS;
|
||||
@ -241,7 +243,8 @@ segment_create(opal_shmem_ds_t *ds_buf,
|
||||
rc = OPAL_ERROR;
|
||||
goto out;
|
||||
}
|
||||
else if (MAP_FAILED == (seg_hdrp = mmap(NULL, real_size,
|
||||
else if (MAP_FAILED == (seg_hdrp = (opal_shmem_seg_hdr_t *)
|
||||
mmap(NULL, real_size,
|
||||
PROT_READ | PROT_WRITE, MAP_SHARED,
|
||||
ds_buf->seg_id, 0))) {
|
||||
int err = errno;
|
||||
@ -278,11 +281,11 @@ segment_create(opal_shmem_ds_t *ds_buf,
|
||||
OPAL_OUTPUT_VERBOSE(
|
||||
(70, opal_shmem_base_output,
|
||||
"%s: %s: create successful "
|
||||
"(opid: %lu id: %d, size: %"PRIsize_t", name: %s)\n",
|
||||
"(opid: %lu id: %d, size: %lu, name: %s)\n",
|
||||
mca_shmem_mmap_component.super.base_version.mca_type_name,
|
||||
mca_shmem_mmap_component.super.base_version.mca_component_name,
|
||||
(unsigned long)ds_buf->opid, ds_buf->seg_id, ds_buf->seg_size,
|
||||
ds_buf->seg_name)
|
||||
(unsigned long)ds_buf->opid, ds_buf->seg_id,
|
||||
(unsigned long)ds_buf->seg_size, ds_buf->seg_name)
|
||||
);
|
||||
}
|
||||
|
||||
@ -307,7 +310,7 @@ out:
|
||||
/* an error occured, so invalidate the shmem object and munmap if needed */
|
||||
if (OPAL_SUCCESS != rc) {
|
||||
if (MAP_FAILED != seg_hdrp) {
|
||||
munmap(seg_hdrp, real_size);
|
||||
munmap((void *)seg_hdrp, real_size);
|
||||
}
|
||||
shmem_ds_reset(ds_buf);
|
||||
}
|
||||
@ -334,7 +337,7 @@ segment_attach(opal_shmem_ds_t *ds_buf)
|
||||
"open(2)", "", strerror(err), err);
|
||||
return NULL;
|
||||
}
|
||||
else if (MAP_FAILED == (ds_buf->seg_base_addr =
|
||||
else if (MAP_FAILED == (ds_buf->seg_base_addr = (unsigned char *)
|
||||
mmap(NULL, ds_buf->seg_size,
|
||||
PROT_READ | PROT_WRITE, MAP_SHARED,
|
||||
ds_buf->seg_id, 0))) {
|
||||
@ -372,11 +375,11 @@ segment_attach(opal_shmem_ds_t *ds_buf)
|
||||
OPAL_OUTPUT_VERBOSE(
|
||||
(70, opal_shmem_base_output,
|
||||
"%s: %s: attach successful "
|
||||
"(opid: %lu id: %d, size: %"PRIsize_t", name: %s)\n",
|
||||
"(opid: %lu id: %d, size: %lu, name: %s)\n",
|
||||
mca_shmem_mmap_component.super.base_version.mca_type_name,
|
||||
mca_shmem_mmap_component.super.base_version.mca_component_name,
|
||||
(unsigned long)ds_buf->opid, ds_buf->seg_id, ds_buf->seg_size,
|
||||
ds_buf->seg_name)
|
||||
(unsigned long)ds_buf->opid, ds_buf->seg_id,
|
||||
(unsigned long)ds_buf->seg_size, ds_buf->seg_name)
|
||||
);
|
||||
|
||||
/* update returned base pointer with an offset that hides our stuff */
|
||||
@ -392,14 +395,14 @@ segment_detach(opal_shmem_ds_t *ds_buf)
|
||||
OPAL_OUTPUT_VERBOSE(
|
||||
(70, opal_shmem_base_output,
|
||||
"%s: %s: detaching "
|
||||
"(opid: %lu id: %d, size: %"PRIsize_t", name: %s)\n",
|
||||
"(opid: %lu id: %d, size: %lu, name: %s)\n",
|
||||
mca_shmem_mmap_component.super.base_version.mca_type_name,
|
||||
mca_shmem_mmap_component.super.base_version.mca_component_name,
|
||||
(unsigned long)ds_buf->opid, ds_buf->seg_id, ds_buf->seg_size,
|
||||
ds_buf->seg_name)
|
||||
(unsigned long)ds_buf->opid, ds_buf->seg_id,
|
||||
(unsigned long)ds_buf->seg_size, ds_buf->seg_name)
|
||||
);
|
||||
|
||||
if (0 != munmap(ds_buf->seg_base_addr, ds_buf->seg_size)) {
|
||||
if (0 != munmap((void *)ds_buf->seg_base_addr, ds_buf->seg_size)) {
|
||||
int err = errno;
|
||||
char hn[MAXHOSTNAMELEN];
|
||||
gethostname(hn, MAXHOSTNAMELEN - 1);
|
||||
@ -421,11 +424,12 @@ segment_unlink(opal_shmem_ds_t *ds_buf)
|
||||
{
|
||||
OPAL_OUTPUT_VERBOSE(
|
||||
(70, opal_shmem_base_output,
|
||||
"%s: %s: unlinking "
|
||||
"(opid: %lu id: %d, size: %"PRIsize_t", name: %s)\n",
|
||||
"%s: %s: unlinking"
|
||||
"(opid: %lu id: %d, size: %lu, name: %s)\n",
|
||||
mca_shmem_mmap_component.super.base_version.mca_type_name,
|
||||
mca_shmem_mmap_component.super.base_version.mca_component_name,
|
||||
(unsigned long)ds_buf->opid, ds_buf->seg_id, ds_buf->seg_size,
|
||||
(unsigned long)ds_buf->opid, ds_buf->seg_id,
|
||||
(unsigned long)ds_buf->seg_size,
|
||||
ds_buf->seg_name)
|
||||
);
|
||||
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user