@@ -178,7 +178,7 @@ Get_count(stat::Status, ::Type{T}) where {T} = Get_count(stat, Datatype(T))
178
178
Wait(req::Request)
179
179
status = Wait(req::Request, Status)
180
180
181
- Block until the request `req` is complete and deallocated.
181
+ Block until the request `req` is complete and deallocated.
182
182
183
183
The `Status` argument returns the `Status` of the completed request.
184
184
@@ -412,7 +412,7 @@ function Testany(reqs::RequestSet, status::Union{Ref{Status}, Nothing}=nothing)
412
412
n, reqs. vals, ref_idx, rflag, something (status, MPI_STATUS_IGNORE))
413
413
idx = ref_idx[]
414
414
flag = rflag[] != 0
415
-
415
+
416
416
if idx == MPI_UNDEFINED
417
417
return flag, nothing
418
418
end
@@ -446,7 +446,7 @@ function Waitsome(reqs::RequestSet, statuses::Union{AbstractVector{Status},Nothi
446
446
n = length (reqs)
447
447
idxs = Vector {Cint} (undef, n)
448
448
@assert isnothing (statuses) || length (statuses) >= n
449
-
449
+
450
450
# int MPI_Waitsome(int incount, MPI_Request array_of_requests[],
451
451
# int *outcount, int array_of_indices[],
452
452
# MPI_Status array_of_statuses[])
@@ -458,13 +458,13 @@ function Waitsome(reqs::RequestSet, statuses::Union{AbstractVector{Status},Nothi
458
458
if nout == MPI_UNDEFINED
459
459
return nothing
460
460
end
461
- update! (reqs)
461
+ update! (reqs)
462
462
return [Int (idxs[i]) + 1 for i = 1 : nout]
463
463
end
464
464
function Waitsome (reqs:: RequestSet , :: Type{Status} )
465
465
statuses = Array {Status} (undef, length (reqs))
466
466
inds = Waitsome (reqs, statuses)
467
- resize! (statuses, length (inds))
467
+ resize! (statuses, isnothing (inds) ? 0 : length (inds))
468
468
return inds, statuses
469
469
end
470
470
Waitsome (reqs:: Vector{Request} , args... ) = Waitsome (RequestSet (reqs), args... )
506
506
function Testsome (reqs:: RequestSet , :: Type{Status} )
507
507
statuses = Array {Status} (undef, length (reqs))
508
508
inds = Testsome (reqs, statuses)
509
- resize! (statuses, length (inds))
509
+ resize! (statuses, isnothing (inds) ? 0 : length (inds))
510
510
return inds, statuses
511
511
end
512
512
Testsome (reqs:: Vector{Request} , args... ) = Testsome (RequestSet (reqs), args... )
0 commit comments