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