diff options
author | Philipp Haller <hallerp@gmail.com> | 2009-01-20 11:34:16 +0000 |
---|---|---|
committer | Philipp Haller <hallerp@gmail.com> | 2009-01-20 11:34:16 +0000 |
commit | 51615fcd586f9752b92a3bbce27b4ed563f5738a (patch) | |
tree | 4f55ba1b2dd49ddd6b111b91e07da257f45c5946 | |
parent | e3d105a0cb1143ce189415bd489b0da4bfa42628 (diff) | |
download | scala-51615fcd586f9752b92a3bbce27b4ed563f5738a.tar.gz scala-51615fcd586f9752b92a3bbce27b4ed563f5738a.tar.bz2 scala-51615fcd586f9752b92a3bbce27b4ed563f5738a.zip |
Fixed #1652.
-rw-r--r-- | src/actors/scala/actors/Actor.scala | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/actors/scala/actors/Actor.scala b/src/actors/scala/actors/Actor.scala index e0442aa586..dc9b8110bc 100644 --- a/src/actors/scala/actors/Actor.scala +++ b/src/actors/scala/actors/Actor.scala @@ -549,8 +549,13 @@ trait Actor extends AbstractActor { onTimeout = Some(new TimerTask { def run() { thisActor.send(TIMEOUT, thisActor) } }) - Actor.timer.schedule(onTimeout.get, msec) - + try { + Actor.timer.schedule(onTimeout.get, msec) + } catch { + case ise: IllegalStateException => + Actor.timer = new Timer + Actor.timer.schedule(onTimeout.get, msec) + } continuation = f isDetached = true } |