hang on exit - bug or no bug?

mouring at etoh.eviladmin.org mouring at etoh.eviladmin.org
Sat Oct 6 01:58:05 EST 2001


Plus it works for only protocol v2.  Not protocol v1

On Fri, 5 Oct 2001 mouring at etoh.eviladmin.org wrote:

>
>
> On Fri, 5 Oct 2001, Markus Friedl wrote:
>
> > On Fri, Oct 05, 2001 at 11:06:01AM -0400, Nicolas Williams wrote:
> > > I can certainly confirm, from experience, that, on Solaris,
> > >
> > > rsh host command&
> > >
> > > hangs if "command" keeps its stdio open. Rlogin is what others are
> > > saying doesn't do this, but, so what?
> > >
> > > As Lee Eakin explained yesterday, there's things SSH does that RLOGIN
> > > doesn't, such as agent forwarding, X forwarding, port forwarding, all
> > > of which may or may not be needed by that background command that's
> > > still holding its stdio open.
> >
> > the hang-on-exit problem is not related to forwarding.
> >
> > > Perhaps there should be an option, that causes SSHD to exit when its
> > > child exits and the session was a TTY session, and to hell with grand-
> > > children's stdio. But the conservative behaviour needs to be available
> > > too.
> >
> > perhaps it's acceptable to discard data for sessions with ttys,
> > but i'm not sure yet.
> >
> > session.c:session_exit_message()
> >
> >         if (c->ostate != CHAN_OUTPUT_CLOSED)
> > 		chan_write_failed(c);
> > +	if (s->ttyfd != -1 && option.discard && c->istate == CHAN_INPUT_OPEN)
> > +		chan_read_failed(c);
> >         s->chanid = -1;
> >
> > should help.
> >
>
> I assume this is part of a bigger patch  where 'option.discard' exists.
>
> One may suggestion only activing this code for slogin only.  That way it
> would mirror rsh/rlogin.
>
> - Ben
>
>




More information about the openssh-unix-dev mailing list