Graj slick i Async - czy to jest wyścig?

CzytanieKod Play-Slick DBAction, Myślałem, że ten kod może zawierać warunki wyścigu:

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)
      }
    }
  }
}

Funkcjar działa w przyszłości, powithSession zwrócił przyszły [Wynik] i zadzwoniłsession.close(). Czy w tym kodzie jest sytuacja wyścigu?

questionAnswers(2)

yourAnswerToTheQuestion