When attempting to open the console device during initialization, X first
tries to open /dev/tty0 in write-only mode, and if that fails it attempts
to open /dev/vc/0. If both attempts fail, the error message below is
logged. The message is incorrect because the errno is that resulting from
the failure to open /dev/vc/0.

    xf86OpenConsole: Cannot open /dev/tty0 ({strerror(errno)})

On a machine in which /dev/tty0 does exist but /dev/vc/0 does not, such as
my machine, the log misleadingly says:

    Fatal server error:
    [  3167.976] xf86OpenConsole: Cannot open /dev/tty0 (No such file or 
directory)

This patch fixes the log to report the correct errno for each device. The
result is this log snippet:

    [  3755.177] (WW) xf86OpenConsole: Failed to open /dev/tty0 for writing 
(Permission denied)
    [  3755.177] (WW) xf86OpenConsole: Failed to open /dev/vc/0 for writing (No 
such file or directory)
    [  3755.177]
    Fatal server error:
    [  3755.177] xf86OpenConsole: Failed to open console device

Signed-off-by: Chad Versace <[email protected]>
---
 hw/xfree86/os-support/linux/lnx_init.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/hw/xfree86/os-support/linux/lnx_init.c 
b/hw/xfree86/os-support/linux/lnx_init.c
index 2176985..b1ad1a8 100644
--- a/hw/xfree86/os-support/linux/lnx_init.c
+++ b/hw/xfree86/os-support/linux/lnx_init.c
@@ -96,13 +96,13 @@ xf86OpenConsole(void)
            while (tty0[i] != NULL) {
                if ((fd = open(tty0[i],O_WRONLY,0)) >= 0)
                  break;
+               xf86Msg(X_WARNING, "xf86OpenConsole: Failed to open %s for "
+                       "writing (%s)\n", tty0[i], strerror(errno));
                i++;
            }
            
            if (fd < 0)
-               FatalError(
-                   "xf86OpenConsole: Cannot open /dev/tty0 (%s)\n",
-                   strerror(errno));
+               FatalError("xf86OpenConsole: Failed to open console device\n");
 
             if (xf86Info.ShareVTs)
             {
-- 
1.7.7.4

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to