- int err = Colls::ialltoallw(sendbuf, sendcounts, senddisps, sendtypes, recvbuf, recvcounts, recvdisps, recvtypes, comm, &request);
- MPI_Request* requests = request->get_nbc_requests();
- int count = request->get_nbc_requests_size();
- XBT_DEBUG("<%d> wait for %d requests", comm->rank(), count);
- Request::waitall(count, requests, MPI_STATUS_IGNORE);
- for (int i = 0; i < count; i++) {
- if(requests[i]!=MPI_REQUEST_NULL)
- Request::unref(&requests[i]);
- }
- delete[] requests;
- Request::unref(&request);
- return err;
+ Colls::ialltoallw(sendbuf, sendcounts, senddisps, sendtypes, recvbuf, recvcounts, recvdisps, recvtypes, comm, &request);
+ return Request::wait(&request, MPI_STATUS_IGNORE);