summaryrefslogtreecommitdiffstats
path: root/src/ck-sysdeps-unix.c
diff options
context:
space:
mode:
authorWilliam Jon McCann <mccann@jhu.edu>2007-08-21 11:27:04 -0400
committerWilliam Jon McCann <mccann@jhu.edu>2007-08-21 11:27:04 -0400
commit0145691112f14352ef15b49c1ea3079a8e80f6e8 (patch)
treeba3477be1e65fb3b6069cadbf3bb9e1a1fe2fe0a /src/ck-sysdeps-unix.c
parent3e6bbcaea6d441956c9c1173d7586bd346a8c77b (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.c40
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