- if ((*request)->action == NULL)
- flag = 1;
- else
- flag = simcall_comm_test((*request)->action);
- if(flag) {
- finish_wait(request, status);
- *request = MPI_REQUEST_NULL;
- }else{
- smpi_empty_status(status);
+ smpi_empty_status(status);
+ flag = 1;
+ if (!((*request)->flags & PREPARED)) {
+ if ((*request)->action != NULL)
+ flag = simcall_comm_test((*request)->action);
+ if (flag) {
+ finish_wait(request, status);
+ *request = MPI_REQUEST_NULL;
+ }