On 08/16, Roland McGrath wrote:
- It is possible that both -death and -reap are true. In this
case it is OK to clear UTRACE_EVENT(REAP), but set_events fails.
No, it's not OK to clear it. Once -reap is set, then the engine's
ops-report_reap might or might not have been called
This is the minimal temporary ugly fix for now, we should certainly
cleanup and simplify this logic. The barriers in mark_engine_detached()
and in start_callback() can't help and should be removed. If we ignore
utrace_get_signal() we do not even need utrace_detached_quiesce(),
utrace_resume(UTRACE_REPORT) always calls utrace_reset() because
start_callback() obviously can't clear report-spurious when
event == 0.
Change start_callback() to correctly clear -spurious in this case.
Ok.
Note: utrace_control(DETACH) does utrace_do_stop() and sets UTRACE_REPORT
if the
Note the second attachment, GDBCAT. It is just the simple perl
script which connects /proc/ugdb to tcp port. It can be used for
remote debugging via tcp, or with (unpatched) gdb which can't do
select() on /proc/ugdb.
bash$ nc -l 2000 /proc/ugdb
Actually, it is more convenient to use
it