diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2014-12-18 13:57:26 +1000 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2014-12-18 13:57:26 +1000 |
commit | 41ae70758a8c5b841a8b63445f82bd056a0a964f (patch) | |
tree | 19413879ab94f946c0456e97a660fb86f179a5a8 /src/main/scala/scala/async/internal/StateAssigner.scala | |
parent | 61b4c183fa2392522051305ec12ab5f433cc09a7 (diff) | |
parent | 063492a14a004cb519f553a6cd30f8b3e41f0453 (diff) | |
download | scala-async-41ae70758a8c5b841a8b63445f82bd056a0a964f.tar.gz scala-async-41ae70758a8c5b841a8b63445f82bd056a0a964f.tar.bz2 scala-async-41ae70758a8c5b841a8b63445f82bd056a0a964f.zip |
Merge pull request #98 from retronym/ticket/73
Make `f(await(completedFuture))` execute `f` synchronously
Diffstat (limited to 'src/main/scala/scala/async/internal/StateAssigner.scala')
-rw-r--r-- | src/main/scala/scala/async/internal/StateAssigner.scala | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/main/scala/scala/async/internal/StateAssigner.scala b/src/main/scala/scala/async/internal/StateAssigner.scala index 8f0d518..55e7a51 100644 --- a/src/main/scala/scala/async/internal/StateAssigner.scala +++ b/src/main/scala/scala/async/internal/StateAssigner.scala @@ -5,10 +5,12 @@ package scala.async.internal private[async] final class StateAssigner { - private var current = -1 + private var current = StateAssigner.Initial - def nextState(): Int = { - current += 1 - current - } + def nextState(): Int = + try current finally current += 1 } + +object StateAssigner { + final val Initial = 0 +}
\ No newline at end of file |