From 0145691112f14352ef15b49c1ea3079a8e80f6e8 Mon Sep 17 00:00:00 2001 From: William Jon McCann Date: Tue, 21 Aug 2007 11:27:04 -0400 Subject: more solaris support based on patch from Brian Cameron. --- src/ck-sysdeps-unix.c | 40 +++++++++++++++++++++++++++++----------- 1 file changed, 29 insertions(+), 11 deletions(-) (limited to 'src/ck-sysdeps-unix.c') diff --git a/src/ck-sysdeps-unix.c b/src/ck-sysdeps-unix.c index 4bad4b6..fa18dac 100644 --- a/src/ck-sysdeps-unix.c +++ b/src/ck-sysdeps-unix.c @@ -154,33 +154,51 @@ ck_get_a_console_fd (void) { int fd; + fd = -1; + +#ifdef __sun + /* On Solaris, first try Sun VT device. */ + fd = open_a_console ("/dev/vt/active"); + if (fd >= 0) { + goto done; + } + fd = open_a_console ("/dev/vt/0"); + if (fd >= 0) { + goto done; + } +#endif + #ifdef _PATH_TTY fd = open_a_console (_PATH_TTY); - if (fd >= 0) - return fd; + if (fd >= 0) { + goto done; + } #endif fd = open_a_console ("/dev/tty"); - if (fd >= 0) - return fd; + if (fd >= 0) { + goto done; + } #ifdef _PATH_CONSOLE fd = open_a_console (_PATH_CONSOLE); - if (fd >= 0) - return fd; + if (fd >= 0) { + goto done; + } #endif fd = open_a_console ("/dev/console"); - if (fd >= 0) - return fd; + if (fd >= 0) { + goto done; + } for (fd = 0; fd < 3; fd++) { if (ck_fd_is_a_console (fd)) { - return fd; + goto done; } } - - return -1; + done: + return fd; } gboolean -- cgit