Чтение Код Play-Slick DBAction, я подумал, что этот код может содержать состояние гонки:
object DBAction{
// snip
def apply(r: (RequestWithDbSession) => Result)(implicit app:Application) = {
Action { implicit request =>
AsyncResult {
DB.withSession{ s:scala.slick.session.Session =>
Future(r( RequestWithDbSession(request,s) ))(executionContext)
}
}
}
}
Функция r
запускается в будущем, после того как withSession
вернет Future[Result] и вызовет session.close()
. Есть ли в этом коде состояние гонки?