[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] tools/xenstore: domain can sometimes disappear when destroying connection
On Thu, Nov 29, 2018 at 01:38:11PM +0000, Wei Liu wrote: > On Thu, Nov 29, 2018 at 01:10:52PM +0000, Eftime, Petre wrote: > > I didn't go extremely deep in my debugging, as the talloc library is a bit > > difficult to debug, but under the do_introduce function you have these > > two lines: > > difficult to debug> I completely agree. ;-) > > > > > /* Now domain belongs to its connection. */ > > talloc_steal(domain->conn, domain); > > > > Thanks, I think this is what I missed. This is useful information. I > think it should go into the commit message if we end up committing your > patch. > I have taken a closer look. I don't think the circular link exists. Note that a new connection is always created with talloc_autofree_context. Following the code, we get (to distinguish, I use conn(X)): conn(1) <- belongs to talloc_autofree_context, created by new_connection when accepting connection from sockets. conn(1)->in <- allocated with new_buffer, belongs to conn(1). domain <- allocated with new_domain, belongs to conn(1)->in . domain->conn(2) <- allocated with new_connection, belongs to talloc_autofree_context. talloc_steal(domain->conn(2), domain) <- now domain belongs to conn(2). So the n-ary tree ends up like: talloc_autofree_context->conn(1)->in \->conn(2)->domain Ian, can I have a second opinion from you? Wei. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |