Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 21 Oct 1998 16:22:48 -0600
From:      Brett Glass <brett@lariat.org>
To:        shmit@kublai.com, Steve Friedrich <SteveFriedrich@Hot-Shot.com>, Studded <Studded@gorean.org>
Cc:        "bugs@FreeBSD.ORG" <bugs@FreeBSD.ORG>
Subject:   Re: No terminal echo after certain commands
Message-ID:  <4.1.19981021161615.00be3ef0@mail.lariat.org>
In-Reply-To: <19981021161438.D266@kublai.com>
References:  <4.1.19981020191601.00c54180@mail.lariat.org> <199810210102.VAA30851@laker.net> <4.1.19981020191601.00c54180@mail.lariat.org>

next in thread | previous in thread | raw e-mail | index | archive | help
At 04:14 PM 10/21/98 -0400, Brian Cully wrote:
 
>FWIW, the comments in main.c:quit() seem to indicate that the terminal
>should be reset to a sane state on ^C (which calls quit()):
>
>        /*
>         * Put cursor at bottom left corner, clear the line,
>         * reset the terminal modes, and exit.
>         */
>
>If it's not doing that, I'm sure no one will complain if you submit a
>patch (or at least a reasonably detailed PR describing the circumstances
>under which you see this behaviour).

That's just what I was doing when I received this message. The interesting
thing is that the NetBSD and FreeBSD versions are almost the same, and both 
OUGHT to respond to SIGINT by executing the following code:

       /*
         * Put cursor at bottom left corner, clear the line,
         * reset the terminal modes, and exit.
         */
        quitting = 1;
        lower_left();
        clear_eol();
        deinit();
        flush();
        raw_mode(0);
        exit(0);

Where deinit() just sends the "deinitialization" terminal string from the
termcaps entry. In other words, the author DID INTEND to clean up gracefully
on SIGINT. Yet we have one report that they don't. This means that the problem 
could be in the termcaps database, in the tty driver, in I/O from signal 
handlers.... Not sure. And this is a tough one to debug, because using a 
debugger on the same terminal will (of course) mess up what's happening with 
the screen.

Suggestions on how to attack this? It looks as if the code really is not
operating as intended.

--Brett





To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4.1.19981021161615.00be3ef0>