diff options
author | Bill Nottingham <notting@redhat.com> | 2008-03-19 12:55:14 -0400 |
---|---|---|
committer | Bill Nottingham <notting@redhat.com> | 2008-03-19 12:55:14 -0400 |
commit | f892674d525dde82da15ff1beb38e8e1e448e1d1 (patch) | |
tree | 972f0798e785af2777f9ca9b4d9a973186859029 /src | |
parent | acc9ccb42dec902eee87fc906552056a1ebd334b (diff) | |
download | initscripts-f892674d525dde82da15ff1beb38e8e1e448e1d1.tar initscripts-f892674d525dde82da15ff1beb38e8e1e448e1d1.tar.gz initscripts-f892674d525dde82da15ff1beb38e8e1e448e1d1.tar.bz2 initscripts-f892674d525dde82da15ff1beb38e8e1e448e1d1.tar.xz initscripts-f892674d525dde82da15ff1beb38e8e1e448e1d1.zip |
always open with NONBLOCK, clear the serial structs first (<dwmw2@infradead.org>)
Diffstat (limited to 'src')
-rw-r--r-- | src/console_check.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/console_check.c b/src/console_check.c index 243e9be5..60dc89e2 100644 --- a/src/console_check.c +++ b/src/console_check.c @@ -79,7 +79,7 @@ int compare_termios_to_console(char *dev, int *speed) { tcgetattr(cfd, &cmode); close(cfd); - fd = open(dev, O_RDONLY); + fd = open(dev, O_RDONLY|O_NONBLOCK); tcgetattr(fd, &mode); if (!termcmp(&cmode, &mode)) { @@ -97,6 +97,9 @@ char *check_serial_console(int *speed) { char twelve = 12; struct serial_struct si, si2; + memset(&si, 0, sizeof(si)); + memset(&si2, 0, sizeof(si)); + fd = open("/dev/console", O_RDWR); if (ioctl (fd, TIOCLINUX, &twelve) >= 0) goto out; |