On Tue, Feb 04, 2014 at 12:49:09PM +0100, Hans de Goede wrote: > Detaching from our controllling tty makes little sense when it is the same
typo: controlling. otherwise, Reviewed-by: Peter Hutterer <[email protected]> Cheers, Peter > as the vt we're asked to run on. So automatically assume -keeptty in this > case. > > This is useful to do because when not running as root the server can only make > various VT related ioctls when it does not detach from the tty. > > Signed-off-by: Hans de Goede <[email protected]> > --- > hw/xfree86/os-support/linux/lnx_init.c | 19 ++++++++++++++++++- > 1 file changed, 18 insertions(+), 1 deletion(-) > > diff --git a/hw/xfree86/os-support/linux/lnx_init.c > b/hw/xfree86/os-support/linux/lnx_init.c > index 9ccf261..85709c6 100644 > --- a/hw/xfree86/os-support/linux/lnx_init.c > +++ b/hw/xfree86/os-support/linux/lnx_init.c > @@ -79,9 +79,10 @@ switch_to(int vt, const char *from) > void > xf86OpenConsole(void) > { > - int i, fd = -1, ret; > + int i, fd = -1, ret, current_vt = -1; > struct vt_mode VT; > struct vt_stat vts; > + struct stat st; > MessageType from = X_PROBED; > const char *tty0[] = { "/dev/tty0", "/dev/vc/0", NULL }; > const char *vcs[] = { "/dev/vc/%d", "/dev/tty%d", NULL }; > @@ -126,6 +127,22 @@ xf86OpenConsole(void) > > xf86Msg(from, "using VT number %d\n\n", xf86Info.vtno); > > + /* Some of stdin / stdout / stderr maybe redirected to a file */ > + for (i = STDIN_FILENO; i <= STDERR_FILENO; i++) { > + ret = fstat(i, &st); > + if (ret == 0 && S_ISCHR(st.st_mode) && major(st.st_rdev) == 4) { > + current_vt = minor(st.st_rdev); > + break; > + } > + } > + > + if (!KeepTty && current_vt == xf86Info.vtno) { > + xf86Msg(X_PROBED, > + "controlling tty is VT number %d, auto-enabling > KeepTty\n", > + current_vt); > + KeepTty = TRUE; > + } > + > if (!KeepTty) { > pid_t ppid = getppid(); > pid_t ppgid; > -- > 1.8.5.3 > > _______________________________________________ > [email protected]: X.Org development > Archives: http://lists.x.org/archives/xorg-devel > Info: http://lists.x.org/mailman/listinfo/xorg-devel > _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
