diff options
author | William Jon McCann <mccann@jhu.edu> | 2007-08-21 11:27:04 -0400 |
---|---|---|
committer | William Jon McCann <mccann@jhu.edu> | 2007-08-21 11:27:04 -0400 |
commit | 0145691112f14352ef15b49c1ea3079a8e80f6e8 (patch) | |
tree | ba3477be1e65fb3b6069cadbf3bb9e1a1fe2fe0a /src/ck-sysdeps-unix.c | |
parent | 3e6bbcaea6d441956c9c1173d7586bd346a8c77b (diff) |
more solaris support
based on patch from Brian Cameron.
Diffstat (limited to 'src/ck-sysdeps-unix.c')
-rw-r--r-- | src/ck-sysdeps-unix.c | 40 |
1 files changed, 29 insertions, 11 deletions
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 |