uli
04/19/2018, 7:39 PMwhile (deferredExports.any { !it.isCompleted && !it.isCompletedExceptionally }) {
select<Unit> {
deferredExports.forEach {
if (!it.isCompleted && !it.isCompletedExceptionally) {
it.onAwait {
}
}
}
}
}
Vsevolod Tolstopyatov [JB]
04/20/2018, 8:02 AM!it.isCompleted && !it.isCompletedExceptionally
is not necessary here in any sense: await
performs same check and in this code it’s not atomic, so it’s possible to await
deferred in Completed
state after checking for !isCompleted
.
Check doesn’t improve neither readability nor performanceuli
04/20/2018, 8:14 AM