detached = 1;
request->buf = malloc(request->size);
memcpy(request->buf,oldbuf,request->size);
+ XBT_DEBUG("Send request %p is detached; buf %p copied into %p",request,oldbuf,request->buf);
+ } else {
+ XBT_DEBUG("Send request %p is not detached (buf: %p)",request,request->buf);
}
-
request->action =
SIMIX_req_comm_isend(mailbox, request->size, -1.0,
- request->buf, request->size, &match_send, request,
+ request->buf, request->size,
+ &match_send,free, // a simple free is used to free the buffer
+ request,
// detach if msg size < eager/rdv switch limit
detached);
void smpi_mpi_wait(MPI_Request * request, MPI_Status * status)
{
print_request("Waiting", *request);
- if ((*request)->action != NULL )
- SIMIX_req_comm_wait((*request)->action, -1.0);
+ if ((*request)->action != NULL) {
+
+ SIMIX_req_comm_wait((*request)->action, -1.0);
+ }
finish_wait(request, status);
}