diff options
author | Philipp Haller <hallerp@gmail.com> | 2011-07-07 17:32:31 +0000 |
---|---|---|
committer | Philipp Haller <hallerp@gmail.com> | 2011-07-07 17:32:31 +0000 |
commit | 9f4e1b050f5d83521e895a9f7b69a2169ec64a8a (patch) | |
tree | d03e6e4733c18e76cff43bdacea811eea1d45db7 /test | |
parent | 2ef447e26660842e2e941221f07f851e57098bb9 (diff) | |
download | scala-9f4e1b050f5d83521e895a9f7b69a2169ec64a8a.tar.gz scala-9f4e1b050f5d83521e895a9f7b69a2169ec64a8a.tar.bz2 scala-9f4e1b050f5d83521e895a9f7b69a2169ec64a8a.zip |
Fixes SI-4759
Diffstat (limited to 'test')
-rw-r--r-- | test/files/jvm/actor-sync-send-timeout.scala | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/test/files/jvm/actor-sync-send-timeout.scala b/test/files/jvm/actor-sync-send-timeout.scala new file mode 100644 index 0000000000..ed330900b2 --- /dev/null +++ b/test/files/jvm/actor-sync-send-timeout.scala @@ -0,0 +1,47 @@ +import scala.actors.Actor + +/* This test is a regression test for SI-4759. + */ +object Test { + val Runs = 5 + + def main(args: Array[String]) = { + var i = 0 + while (i < Runs) { + i += 1 + A1 ! 1 + Thread.sleep(500) + } + //println("done sending to A1") + } +} + +object A2 extends Actor { + this.start() + def act() { + loop { + react { + case 'stop => + //println("A2 exiting") + exit() + case _ => + } + } + } +} + +object A1 extends Actor { + this.start() + def act() { + var i = 0 + loopWhile(i < Test.Runs) { + i += 1 + react { + case any => + A2 !? (500, any) + if (i == Test.Runs) + A2 ! 'stop + } + } + } +} |