That was an extremely helpful review, thanks. The reason to qhangup when the cclose() hits 1 is that there are only two ways that happens I can think of: 1. something is still reading the /proc/pid/strace file, but there's nothing more to trace -- in this case, we need a qhangup 2. strace command is gone, and there is a proc running out there. In this case there's no harm done with the qhangup since the traced process has no need to write to it.
Agreed that it sucks and needs to be done better; I just didn't think of anything :-) We need to talk about this, it gets a tad tricky when the tracer forks and the child inherits the fd. But, above all, I want this to work: cat /proc/pid/strace needs to exit correctly when pid and all its kids are gone. This works with the current kludge. ron -- You received this message because you are subscribed to the Google Groups "Akaros" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. For more options, visit https://groups.google.com/d/optout.
