1
1

Fix mmap flags in bcol_basesmuma_smcm_reg_mmap

if in_ptr is NULL, the MAP_FIXED flag cannot be passed to mmap

this caused a hang in topology/cart and topology/sub from ibm
test suite on trunk.

cmr=v1.8.2:reviewer=hjelmn

This commit was SVN r31890.
Этот коммит содержится в:
Gilles Gouaillardet 2014-05-26 07:18:31 +00:00
родитель 75616320b5
Коммит d04db1e213

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

@ -448,10 +448,14 @@ bcol_basesmuma_smcm_mmap_t * bcol_basesmuma_smcm_reg_mmap(void *in_ptr,
bcol_basesmuma_smcm_mmap_t *map;
bcol_basesmuma_smcm_file_header_t *seg;
unsigned char* myaddr = NULL;
int flags = MAP_SHARED;
/* map the file and initialize the segment state */
if (NULL != in_ptr) {
flags |= MAP_FIXED;
}
seg = (bcol_basesmuma_smcm_file_header_t *)
mmap(in_ptr, length, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_FIXED, fd, 0);
mmap(in_ptr, length, PROT_READ|PROT_WRITE, flags, fd, 0);
if((void*)-1 == seg) {
return NULL;
}