Comment 18 for bug 2025160

Revision history for this message
Harry Pidcock (hpidcock) wrote :

`data.isOffer = remoteAppResult.Result.IsConsumerProxy` is the only data race I can see there.

I looked into the strange data.Kill(); data.catacomb = catacomb.Catacomb{}; but it should be safe since the start function is only called by the runner after the Wait() call on the worker has returned and the Wait function on the catacomb only returns when all the added workers have also returned. The remote controller facade is closed in a defer on the remoteRelationData loop, so that should close the remote connection.

I looked into the callers of startRelation, and there it is only called once per relation. Even if it was called multiple times (which it cannot), the StartWorkers call merely "queues" the start up when the worker restarts.