summaryrefslogtreecommitdiff
path: root/src/ck-sysdeps-unix.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2010-11-17 01:50:46 +0100
committerLennart Poettering <lennart@poettering.net>2010-11-17 01:50:46 +0100
commit72bc55ded76c567adee241094ba3147c72706f79 (patch)
treef5ffc0dd6c3db350b4ebe340e3cbb9c376ac815b /src/ck-sysdeps-unix.c
parentd36415dcc3cd26a7d1def2f12b4d1c59e13d704e (diff)
Revert "linux: Use VT_WAITEVENT if available to avoid spawn too many threads"
This reverts commit 2782cc8d4950effbc4407455e72bd4750cef6e11. VT_WAITEVENT is racy unfortunately, since events that happen between the time we woke up from a VT_WAITEVENT and we go into the next VT_WAITEVENT are lost completely.
Diffstat (limited to 'src/ck-sysdeps-unix.c')
-rw-r--r--src/ck-sysdeps-unix.c44
1 files changed, 0 insertions, 44 deletions
diff --git a/src/ck-sysdeps-unix.c b/src/ck-sysdeps-unix.c
index 6a8b5f8..e4ab16b 100644
--- a/src/ck-sysdeps-unix.c
+++ b/src/ck-sysdeps-unix.c
@@ -296,50 +296,6 @@ ck_wait_for_active_console_num (int console_fd,
return ret;
}
-#ifdef VT_WAITEVENT
-gboolean
-ck_wait_for_console_switch (int console_fd,
- guint *num)
-{
- gboolean ret;
- int res;
- struct vt_event vt;
-
- g_assert (console_fd != -1);
-
- again:
- ret = FALSE;
- errno = 0;
- vt.event = VT_EVENT_SWITCH;
- vt.oldev = *num;
- res = ioctl (console_fd, VT_WAITEVENT, &vt);
-
- if (res == ERROR) {
- const char *errmsg;
-
- errmsg = g_strerror (errno);
-
- if (errno == EINTR) {
- g_debug ("Interrupted waiting for native console event: %s",
- errmsg);
- goto again;
- } else if (errno == ENOTSUP) {
- g_debug ("Console event not supported on this system");
- } else {
- g_warning ("Error waiting for native console event: %s",
- errmsg);
- }
- goto out;
- }
-
- ret = TRUE;
- *num = vt.newev;
-
- out:
- return ret;
-}
-#endif
-
gboolean
ck_activate_console_num (int console_fd,
guint num)