This commit is contained in:
parent
e667f6cb6c
commit
31f22cde7c
62
gdm-2.17.7-vt-fallback.patch
Normal file
62
gdm-2.17.7-vt-fallback.patch
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
diff -upr gdm-2.17.7-pre/daemon/getvt.c gdm-2.17.7-post/daemon/getvt.c
|
||||||
|
--- gdm-2.17.7-pre/daemon/getvt.c 2007-02-11 23:40:19.000000000 -0600
|
||||||
|
+++ gdm-2.17.7-post/daemon/getvt.c 2007-03-20 16:25:35.000000000 -0600
|
||||||
|
@@ -90,8 +90,10 @@ get_free_vt_linux (int *vtfd)
|
||||||
|
int vtno;
|
||||||
|
unsigned short vtmask;
|
||||||
|
struct vt_stat vtstat;
|
||||||
|
+ guint v_state;
|
||||||
|
|
||||||
|
*vtfd = -1;
|
||||||
|
+ fdv = -1;
|
||||||
|
|
||||||
|
do {
|
||||||
|
errno = 0;
|
||||||
|
@@ -101,26 +103,33 @@ get_free_vt_linux (int *vtfd)
|
||||||
|
#endif
|
||||||
|
, 0);
|
||||||
|
} while G_UNLIKELY (errno == EINTR);
|
||||||
|
- if (fd < 0)
|
||||||
|
- return -1;
|
||||||
|
|
||||||
|
- if (ioctl (fd, VT_GETSTATE, &vtstat) < 0) {
|
||||||
|
- VE_IGNORE_EINTR (close (fd));
|
||||||
|
- return -1;
|
||||||
|
- }
|
||||||
|
+ if (fd >= 0 && ioctl (fd, VT_GETSTATE, &vtstat) >= 0)
|
||||||
|
+ v_state = vtstat.v_state;
|
||||||
|
+ else
|
||||||
|
+ v_state = 0;
|
||||||
|
|
||||||
|
- for (vtno = gdm_get_value_int (GDM_KEY_FIRST_VT), vtmask = 1 << vtno;
|
||||||
|
- vtstat.v_state & vtmask; vtno++, vtmask <<= 1);
|
||||||
|
- if (!vtmask) {
|
||||||
|
- VE_IGNORE_EINTR (close (fd));
|
||||||
|
- return -1;
|
||||||
|
+ for (vtno = gdm_get_value_int (GDM_KEY_FIRST_VT), vtmask = 1 << vtno; vtmask; vtno++, vtmask <<= 1) {
|
||||||
|
+ /* Is this console in use? */
|
||||||
|
+ if (v_state & vtmask)
|
||||||
|
+ continue;
|
||||||
|
+
|
||||||
|
+ /* No, try to open it */
|
||||||
|
+ fdv = open_vt (vtno);
|
||||||
|
+ if (fdv >= 0)
|
||||||
|
+ break;
|
||||||
|
+
|
||||||
|
+ /* If we're here, kernel indicated that the console was free,
|
||||||
|
+ * but we failed to open it. Just go on to higher VTs. */
|
||||||
|
}
|
||||||
|
|
||||||
|
- fdv = open_vt (vtno);
|
||||||
|
- if (fdv < 0) {
|
||||||
|
+ if (fdv < 0)
|
||||||
|
+ vtno = -1;
|
||||||
|
+
|
||||||
|
+ if (fd >= 0) {
|
||||||
|
VE_IGNORE_EINTR (close (fd));
|
||||||
|
- return -1;
|
||||||
|
}
|
||||||
|
+
|
||||||
|
*vtfd = fdv;
|
||||||
|
return vtno;
|
||||||
|
}
|
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Mar 21 23:43:05 CET 2007 - hpj@suse.de
|
||||||
|
|
||||||
|
- Add gdm-2.17.7-vt-fallback.patch. This is a port of the fix for
|
||||||
|
https://bugzilla.novell.com/show_bug.cgi?id=206804
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Mar 13 17:42:14 CST 2007 - maw@suse.de
|
Tue Mar 13 17:42:14 CST 2007 - maw@suse.de
|
||||||
|
|
||||||
|
7
gdm.spec
7
gdm.spec
@ -25,7 +25,7 @@ License: GNU General Public License (GPL)
|
|||||||
Group: System/GUI/GNOME
|
Group: System/GUI/GNOME
|
||||||
Autoreqprov: on
|
Autoreqprov: on
|
||||||
Version: 2.17.7
|
Version: 2.17.7
|
||||||
Release: 1
|
Release: 2
|
||||||
Summary: The GNOME 2.x Display Manager
|
Summary: The GNOME 2.x Display Manager
|
||||||
Source: %{name}-%{version}.tar.bz2
|
Source: %{name}-%{version}.tar.bz2
|
||||||
Source1: gdm.pamd
|
Source1: gdm.pamd
|
||||||
@ -55,6 +55,7 @@ Patch29: gdm-gdmsetup.patch
|
|||||||
Patch30: gdm-conf-custom-sysconfig.patch
|
Patch30: gdm-conf-custom-sysconfig.patch
|
||||||
Patch32: gdm-trunk-string-literal-cmp.patch
|
Patch32: gdm-trunk-string-literal-cmp.patch
|
||||||
Patch33: gdm-2.13.0.4-audit-login.patch
|
Patch33: gdm-2.13.0.4-audit-login.patch
|
||||||
|
Patch34: gdm-2.17.7-vt-fallback.patch
|
||||||
URL: http://www.gnome.org/
|
URL: http://www.gnome.org/
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
Docdir: %{_defaultdocdir}
|
Docdir: %{_defaultdocdir}
|
||||||
@ -106,6 +107,7 @@ gnome-patch-translation-prepare
|
|||||||
%patch30
|
%patch30
|
||||||
%patch32
|
%patch32
|
||||||
%patch33 -p1
|
%patch33 -p1
|
||||||
|
%patch34 -p1
|
||||||
gnome-patch-translation-update
|
gnome-patch-translation-update
|
||||||
|
|
||||||
%build
|
%build
|
||||||
@ -230,6 +232,9 @@ sed -i s:DISPLAYMANAGER=/opt/gnome/sbin/gdm:DISPLAYMANAGER=/usr/sbin/gdm:g etc/i
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Mar 21 2007 - hpj@suse.de
|
||||||
|
- Add gdm-2.17.7-vt-fallback.patch. This is a port of the fix for
|
||||||
|
https://bugzilla.novell.com/show_bug.cgi?id=206804
|
||||||
* Tue Mar 13 2007 - maw@suse.de
|
* Tue Mar 13 2007 - maw@suse.de
|
||||||
- Update to version 2.17.7
|
- Update to version 2.17.7
|
||||||
- Removeupstreamed gdm-autobuild-warning.patch,
|
- Removeupstreamed gdm-autobuild-warning.patch,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user