[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#11273: 24.0.94; quitting gdb
From: |
Troels Nielsen |
Subject: |
bug#11273: 24.0.94; quitting gdb |
Date: |
Thu, 19 Apr 2012 20:22:56 +0200 |
Chong Yidong writes:
> Glenn Morris <rgm@gnu.org> writes:
>
> > Chong Yidong wrote:
> >
> >> In the meantime, I installed a workaround to explicitly call
> >> delete-process on the pty in the sentinel of the main gdb process.
> >
> > Maybe you fixed bug#4437 then?
>
> Aha, looks like the situation is this:
>
> In Bug#4437, Nick Roberts proposed a patch to process.c to avoid sending
> a SIGCHLD to itself when it receives an EIO errno. However, he noted
> that this
>
> means that status_notify isn't called from
> wait_reading_process_output because this call is conditioned on
> select which returns a positive value (presumably because the pty's
> file descriptor hasn't been cleared).
>
> which is the problem I noticed. Nick didn't commit the patch at the
> time.
>
> In Bug#10933, Troels Nielsen independently proposed the same patch,
> which was committed by Stefan on 2012-03-23.
>
> The question is what to do about the problem. I didn't test this, but
> it may be that the patch causes ALL process sentinels to be blocked
> while the gdb process is running, which is kinda unacceptable.
Hi Chong
I've looked into the issue more deeply and I think my suggested patch
is most certainly wrong. The PTY somehow continously will tell select
it has data available, but when emacs_read tries to read it nothing
but an error and errno=IO is returned.
I will look into a different way of solving #10933, but I think for
now my changes should be removed.
Regards
Troels