On Mon, 11 Feb 2008, Tim Connors wrote:

> On Mon, 11 Feb 2008, Jörg Sommer wrote:
>
> > Hi Tim,
> >
> > Tim Connors schrieb am Mon 12. Nov, 03:19 (+1100):
> > > I have verified that manually sending a SIGHUP to slrn does indeed
> > > make it quit correctly.
> >
> > Can you reporduce this bug with the slrn version in experimental? I can't.
>
> I just took a very cursory glance at it, and I think it is fixed.

Nope, I was wrong - it still fails to die, and sits in its infinite loop
trying to read from the terminal.  For testing, I killed -9 the parent
bash process, and not the parent xterm process.  I should have been
killing the parent xterm (this mimicks X crashing as I just found out by
accident).

An easy way to reproduce it is to start an slrn in a shell that you have
trapped SIGHUP:
trap 'echo trapped SIGHUP; sleep 2 ; exit' HUP
then start slrn, and kill -9 the parent xterm of bash.  Bash may get a
SIGHUP, but it wont pass it onto the child slrn, who will have it trapped.

Because the tty disappears out from underneath it, and slrn hasn't
received SIGHUP, it tries to read from the terminal, and fails, and so
tries to read again, instead of halting.  slrn still appears to be relying
on recieving a SIGHUP, instead of checking error codes from the read
system call.

-- 
TimC
I am not a number.  I'm a Free NaN.     -- Chris Reuter in ARK

Reply via email to