On Wed, Feb 11, 2009 at 09:45:15AM -0500, Frank Ch. Eigler wrote: > This may not answer your question, but I believe it is not proper to > to make this call at any time t>1, only once you receive the quiesce > callback.
Maybe I am wrong but the quiesce callback gets called *before* the other report_* (say syscall_entry). So when I capture UTRACE_QUIESCE, I got the report call before t=1. Some communication from utrace to the module should happen *after* utrace->stopped is set to 1 (something similar to the code Roland added for ptrace). ---- Even if it worked this way (i.e. return STOP and wait for report_quiesce, I think the race condition there is in any case) the interface to the module would be horrible. When the module receives a report callback, it returns UTRACE_STOP and then it needs to use some data structure to wait for a report_quiesce to restart the traced process. With the idea of patch included in my previous mail there is no need of such a complexity. Thank you for taking part to this discussion renzo