v0ldem0rt
12/06/2020, 3:02 AMsuspend fun <T> PreparedStatement.withCancellation(callback: suspend () -> T): T {
val stmt = this
suspendCancellableCoroutine { cont ->
cont.invokeOnCancellation {
stmt.cancel()
}
}
return callback()
}
Zach Klippenstein (he/him) [MOD]
12/06/2020, 11:37 AMtry {
awaitCancellation()
} finally {
this.cancel()
callback()
}