- From: Drew Wilson <atwilson@google.com>
- Date: Fri, 29 May 2009 11:29:39 -0700
On Thu, May 28, 2009 at 7:47 PM, Maciej Stachowiak <mjs at apple.com> wrote: > > On May 28, 2009, at 5:17 PM, Ian Hickson wrote: > > On Thu, 28 May 2009, Maciej Stachowiak wrote: >> >>> On May 28, 2009, at 1:08 PM, Ian Hickson wrote: >>> >>>> On Thu, 28 May 2009, Maciej Stachowiak wrote: >>>> >>>> If so, that seems like it could create unbounded memory leaks in >>>>> long-running Web applications that use MessagePorts, even if all >>>>> references to both endpoints of the MessageChannel are dropped. That >>>>> seems unacceptable to me, unless I misunderstood. >>>>> >>>> >>>> The requirement is actually indistinguishable from the UA using the >>>> other alternative and just having a really slow garbage collector that >>>> only runs at page-closing time. >>>> >>> >>> So it's exactly equivalent to the old requirement, except the spec now >>> specifically points out that you can just leak forever instead. I don't >>> think that addresses the original concern at all. >>> >> >> I've tweaked the text some to make it clear that once the port is not >> entangled, it doesn't continue being protected in this way. >> > > The new text seems to be this: > > "When a MessagePort object is entangled, user agents must either act as if > the object has a strong reference to its entangledMessagePort object, or as > if the MessagePort object's owner has a strong reference to the MessagePort > object" > > It seems to me this allows the following case: two message ports A and B > are entangled. A is treated as having a strong reference to B, but is not > treated as if its owner has a strong reference to it. However, B is not > treated as having a strong reference to A, but is treated as if its owner > has a strong reference to it. Is that intended? I think this behavior would > be practically implementable and quite useful in many cases, even though it > is asymmetric. But I am not sure if the text intended to allow it. Can you elaborate on this a bit? Where would this asymmetric behavior be useful? It seems like in the specific case you cite, B would be doubly-referenced, while A would be unreferenced. > > > Regards, > Maciej > > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.whatwg.org/pipermail/whatwg-whatwg.org/attachments/20090529/2e31a249/attachment.htm>
Received on Friday, 29 May 2009 11:29:39 UTC