On 08/11, Tom Tromey wrote:
>
> >>>>> "Oleg" == Oleg Nesterov <o...@redhat.com> writes:
>
> Oleg> So, the patch below fixes the problem, and gdb + /proc/ugdb seems
> Oleg> to work.
>
> Oleg> Indeed, gdb sees that this fd is not pipe/tcp and uses the "hardwire"
> Oleg> serial_ops, but hardwire_readchar() doesn't play well with select().
>
> Oleg> Please teach gdb to use poll/select ?
>
> I looked at this a little bit.  It seems to me that the "hardwire" stuff
> is for talking to ttys, and we instead want gdb to be using the pipe code.

I didn't verify this, but I don't think so. Please look at pipe_open().
Perhaps it makes sense to serial_add_interface("ugdb"), I dunno.


OK. I was going to add some cleanups and send the new version today.
But after some testing (without gdb) I hit the kernel crashes. This
makes me think that probably something is wrong ;)

As usual, I can't blame my code. I am still investigating, the crash
is not easy to reproduce, but so far I _suspect_ the problems in utrace
code. At least utrace_barrier()->signal_pending() is definitely not
right.

Will continue tomorrow.

Oleg.

Reply via email to