Changeset 1533 for XIOS/dev/branch_openmp/extern/src_ep_dev/ep_wait.cpp
- Timestamp:
- 06/08/18 19:34:51 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/branch_openmp/extern/src_ep_dev/ep_wait.cpp
r1520 r1533 25 25 if((*request)->type !=1 && (*request)->type !=2 && (*request)->type !=3) 26 26 { 27 printf(" Error in request type\n");27 printf("MPI_Wait : Error in request type\n"); 28 28 29 29 exit(1); … … 32 32 while((*request)->type == 2) Request_Check(); 33 33 34 ::MPI_Wait(to_mpi_request_ptr(*request), to_mpi_status_ptr(status)); 34 ::MPI_Status mpi_status; 35 36 ::MPI_Wait(to_mpi_request_ptr(*request), &mpi_status); 35 37 36 38 status->mpi_status = new ::MPI_Status(mpi_status); 37 39 status->ep_src = (*request)->ep_src; 38 40 status->ep_tag = (*request)->ep_tag; … … 42 44 43 45 memcheck("delete "<< (*request)->mpi_request << " : in ep_lib::MPI_Wait, delete (*request)->mpi_request"); 46 44 47 delete (*request)->mpi_request; 45 48 delete *request; 49 *request=0; 46 50 47 48 51 return Request_Check(); 49 52 … … 87 90 for(int i=0; i<count; i++) 88 91 { 89 array_of_statuses[i].mpi_status = &mpi_status[i];92 array_of_statuses[i].mpi_status = new ::MPI_Status(mpi_status[i]); 90 93 array_of_statuses[i].ep_src = array_of_requests[i]->ep_src; 91 94 array_of_statuses[i].ep_tag = array_of_requests[i]->ep_tag; … … 97 100 delete array_of_requests[i]->mpi_request; 98 101 delete array_of_requests[i]; 102 array_of_requests[i] = 0; 99 103 } 100 104
Note: See TracChangeset
for help on using the changeset viewer.