1
1

remove the shared memory control backing file on

termination.  remove some debug code.

This commit was SVN r3615.
Этот коммит содержится в:
Rich Graham 2004-11-18 04:18:33 +00:00
родитель 5ee42c2a58
Коммит 72f9b1df14
2 изменённых файлов: 24 добавлений и 6 удалений

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

@ -99,11 +99,6 @@ mca_common_sm_mmap_t* mca_common_sm_mmap_init(size_t size, char *file_name,
return NULL; return NULL;
} }
/* debug */
fprintf(stderr," open %s \n",file_name);
fflush(stderr);
/* end debug */
/* open the backing file - only the first process accessing this /* open the backing file - only the first process accessing this
* file will succeed. */ * file will succeed. */
fd=mca_common_sm_mmap_open(file_name); fd=mca_common_sm_mmap_open(file_name);

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

@ -169,13 +169,36 @@ int mca_ptl_sm_component_open(void)
int mca_ptl_sm_component_close(void) int mca_ptl_sm_component_close(void)
{ {
int return_value=OMPI_SUCCESS;
OBJ_DESTRUCT(&mca_ptl_sm_component.sm_lock); OBJ_DESTRUCT(&mca_ptl_sm_component.sm_lock);
OBJ_DESTRUCT(&mca_ptl_sm_component.sm_send_requests); OBJ_DESTRUCT(&mca_ptl_sm_component.sm_send_requests);
OBJ_DESTRUCT(&mca_ptl_sm_component.sm_first_frags); OBJ_DESTRUCT(&mca_ptl_sm_component.sm_first_frags);
OBJ_DESTRUCT(&mca_ptl_sm_component.sm_second_frags); OBJ_DESTRUCT(&mca_ptl_sm_component.sm_second_frags);
OBJ_DESTRUCT(&mca_ptl_sm_component.sm_pending_ack_lock); OBJ_DESTRUCT(&mca_ptl_sm_component.sm_pending_ack_lock);
OBJ_DESTRUCT(&mca_ptl_sm_component.sm_pending_ack); OBJ_DESTRUCT(&mca_ptl_sm_component.sm_pending_ack);
return OMPI_SUCCESS;
/* unmap the shared memory control structure */
return_value=munmap(mca_ptl_sm_component.mmap_file->map_addr,
mca_ptl_sm_component.mmap_file->map_size);
if(-1 == return_value) {
return_value=OMPI_ERROR;
ompi_output(0," munmap failed :: file - %s :: errno - %d \n",
mca_ptl_sm_component.mmap_file->map_addr,
errno);
goto CLEANUP;
}
/* unlink file, so that it will be deleted when all references
* to it are gone - no error checking, since we want all procs
* to call this, so that in an abnormal termination scanario,
* this file will still get cleaned up */
unlink(mca_ptl_sm_component.mmap_file->map_path);
CLEANUP:
/* return */
return return_value;
} }