diff options
Diffstat (limited to 'src/actors')
-rw-r--r-- | src/actors/scala/actors/Actor.scala | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/actors/scala/actors/Actor.scala b/src/actors/scala/actors/Actor.scala index 4f71a1ab8d..0f5faedd50 100644 --- a/src/actors/scala/actors/Actor.scala +++ b/src/actors/scala/actors/Actor.scala @@ -907,10 +907,8 @@ trait Actor extends AbstractActor { */ def link(to: AbstractActor): AbstractActor = { assert(Actor.self == this, "link called on actor different from self") - synchronized { - links = to :: links - } - to.linkTo(this) + this linkTo to + to linkTo this to } @@ -937,10 +935,8 @@ trait Actor extends AbstractActor { */ def unlink(from: AbstractActor) { assert(Actor.self == this, "unlink called on actor different from self") - synchronized { - links = links.remove(from.==) - } - from.unlinkFrom(this) + this unlinkFrom from + from unlinkFrom this } private[actors] def unlinkFrom(from: AbstractActor) = synchronized { |