Slick und Async spielen - ist das eine Rennbedingung?

lesenPlay-Slick DBAction-Code, Ich dachte, dass dieser Code eine Racebedingung enthalten könnte:

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

Die Funktionr läuft zu einem späteren Zeitpunkt nachwithSession hat ein Future [Ergebnis] zurückgegeben und angerufensession.close(). Gibt es eine Racebedingung in diesem Code?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage