Subject: Re: bug#11273: 24.0.94; quitting gdb

From: Chong Yidong <[email-masked]>
Date: Fri, 20 Apr 2012 00:47:41 +0800

Glenn Morris <[email-masked]> 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.