diff --git a/concurrent/src/main/scala/scalaz/concurrent/Actor.scala b/concurrent/src/main/scala/scalaz/concurrent/Actor.scala index 06a124f934..e54b15a126 100644 --- a/concurrent/src/main/scala/scalaz/concurrent/Actor.scala +++ b/concurrent/src/main/scala/scalaz/concurrent/Actor.scala @@ -56,6 +56,7 @@ final case class Actor[A](handler: A => Unit, onError: Throwable => Unit = throw val t = tail.get val n = batchHandle(t, 1024) if (n ne t) { + n.a = null.asInstanceOf[A] tail.lazySet(n) schedule() } else { @@ -78,7 +79,7 @@ final case class Actor[A](handler: A => Unit, onError: Throwable => Unit = throw } } -private class Node[A](val a: A = null.asInstanceOf[A]) extends AtomicReference[Node[A]] +private class Node[A](var a: A = null.asInstanceOf[A]) extends AtomicReference[Node[A]] object Actor extends ActorFunctions with ActorInstances