aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/scala/async/internal/StateAssigner.scala
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2014-12-18 13:57:26 +1000
committerJason Zaugg <jzaugg@gmail.com>2014-12-18 13:57:26 +1000
commit41ae70758a8c5b841a8b63445f82bd056a0a964f (patch)
tree19413879ab94f946c0456e97a660fb86f179a5a8 /src/main/scala/scala/async/internal/StateAssigner.scala
parent61b4c183fa2392522051305ec12ab5f433cc09a7 (diff)
parent063492a14a004cb519f553a6cd30f8b3e41f0453 (diff)
downloadscala-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.scala12
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