diff --git a/akka-actor/src/main/scala/actor/Scheduler.scala b/akka-actor/src/main/scala/actor/Scheduler.scala index 5dc57056cc..6775479aa7 100644 --- a/akka-actor/src/main/scala/actor/Scheduler.scala +++ b/akka-actor/src/main/scala/actor/Scheduler.scala @@ -27,7 +27,7 @@ object Scheduler extends Logging { case class SchedulerException(msg: String, e: Throwable) extends RuntimeException(msg, e) - private var service = Executors.newSingleThreadScheduledExecutor(SchedulerThreadFactory) + @volatile private var service = Executors.newSingleThreadScheduledExecutor(SchedulerThreadFactory) log.info("Starting up Scheduler") @@ -108,12 +108,12 @@ object Scheduler extends Logging { } } - def shutdown = { + def shutdown: Unit = synchronized { log.info("Shutting down Scheduler") service.shutdown } - def restart = { + def restart: Unit = synchronized { log.info("Restarting Scheduler") shutdown service = Executors.newSingleThreadScheduledExecutor(SchedulerThreadFactory)