diff -r aa1e730c3fdd -r 6b36da29a0bf src/Pure/Concurrent/simple_thread.scala --- a/src/Pure/Concurrent/simple_thread.scala Thu Jul 19 20:39:49 2012 +0200 +++ b/src/Pure/Concurrent/simple_thread.scala Thu Jul 19 20:49:17 2012 +0200 @@ -30,11 +30,11 @@ /* future result via thread */ - def future[A](name: String = "", daemon: Boolean = false)(body: => A): Future[A] = + def future[A](name: String = "", daemon: Boolean = false)(body: => A): (Thread, Future[A]) = { val result = Future.promise[A] - fork(name, daemon) { result.fulfill_result(Exn.capture(body)) } - result + val thread = fork(name, daemon) { result.fulfill_result(Exn.capture(body)) } + (thread, result) }