On 08/23, Roland McGrath wrote: > > > > This model seems like a better fit for ptrace to me. The anchoring data > > > structure is the tracer's tracees list, which links together the > > > ptrace_context structs. A live ptrace_context has an engine pointer and > > > a ref for it. > > > > OK. Not that I really understand this all in details, but OK. > > > > But. Do you think we should do this right now? > > If it is the right way to handle the data structure lifetimes, I don't see > why we would do it any different way first. One of the main points of what > makes one plan or another "the right way" is that it makes it easier to get > the corners right. So if it's easier to get the corners right another way, > then maybe that other way is the right one. > > > I don't. Imho, we need a lot of changes before this. > > I don't understand why you think this.
Simple answer. Because I do not know how to implement this. At least now. I tried to think of this more, but I don't see how to make the first steps. (Yes, to be honest, this looks like "unnecessary complication" to me, I have to admit. But this is not the reason.) > > Do you have any suggestion what can we do right now? (assuming you won't > > apply your ops->release patch). > > I didn't say I wouldn't. I was hoping for some more discussion about it > and better understanding of the underlying issues that made you want it, > maybe with some voices other than just yours and mine. Agreed, but nobody else cares ;) So, I am going to use the simple ops->release method for now. Once we have the working code we can reconsider the lifetime rules for engine/ engine->data. Oleg.