Mail Archives: cygwin-developers/2001/03/19/13:22:10
On Mon, Mar 19, 2001 at 09:00:04PM +0300, Egor Duda wrote:
>Hi!
>
>Monday, 19 March, 2001 Earnie Boyd earnie_boyd AT yahoo DOT com wrote:
>
>EB> Earnie Boyd wrote:
>>>
>>> Christopher Faylor wrote:
>>> >
>>> > Do you see this when you press CTRL-D to exit the window?
>>> >
>>>
>>> I'm in the habit of typing `exit' which echoes back `logout\n'. Bash
>>> isn't present, rxvt is still active to the cursor but no response. I'm
>>> able to close the window with the "X in the upper right corner" once it
>>> is hung.
>
>EB> I just did a cvs update and a build, it's still hangin'. I used the
>EB> CTRL-D method and it hangs with that to. Not every time, about one in
>EB> ten.
>
> I can reproduce this, though it seems that it's not related to the
>latest tty handling changes. At least i see this problem with 1.1.8
>too. When i press ctrl-d and rxvt freezes, the situation is following --
>bash successfully exits, rxvt continue to poll master side of pty
>and sees eof there, but doesn't take it into account. Quick look in
>rxvt sources made me think that rxvt relies solely on SIGCHLD signal
>from child process. It seems that in that one of ten times, when rxvt
>freezes, it simply doesn't receive SIGCHLD, an continue waiting. Alas,
>as most of races, i cannot reproduce this behavior under strace or
>gdb.
I still can't reproduce this. I'm running on a dual processor PII W2K
system -- I think I have finally resolved my hardware problems on this
system, hallelujah.
Have you tried setting the strace buffer up to something huge:
strace -oblah -b65535 rxvt
? Sometimes this speeds things up enough to track down the problem.
I assume that the SIGCHLD is getting delivered but it's blocked for
some reason. That is usually what causes this kind of symptom.
If you can attach to a hung rxvt, could you look at myself->_sigtodo[SIGCHLD+3]?
If that has a >0 number in it, then the signal is blocked.
cgf
- Raw text -