watch: Do not mess up the tty modes on early error.

Record the initial state earlier, so it is always safe to restore it.

One way this happens is if watch(8) is started by a user that does not have
access to /dev/snp. The result is "staircase effect" during later commands.

PR:		bin/153052
MFC after:	1 week
This commit is contained in:
Jilles Tjoelker 2013-09-05 19:02:03 +00:00
parent b6f49c23a3
commit 79e6a2c01e
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=255261

View File

@ -110,7 +110,6 @@ set_tty(void)
{
struct termios ntty;
tcgetattr(std_in, &otty);
ntty = otty;
ntty.c_lflag &= ~ICANON; /* disable canonical operation */
ntty.c_lflag &= ~ECHO;
@ -324,6 +323,8 @@ main(int ac, char *av[])
usage();
}
tcgetattr(std_in, &otty);
if (modfind("snp") == -1)
if (kldload("snp") == -1 || modfind("snp") == -1)
warn("snp module not available");