sun_init.c: Move vt switches to a switch_to helper function like lnx_init.c
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Julien Cristau <jcristau@debian.org>
This commit is contained in:
parent
a00dc6af6e
commit
7e127f12a2
@ -63,6 +63,22 @@ static char consoleDev[PATH_MAX] = "/dev/fb";
|
|||||||
Used by hw/xfree86/common/xf86AutoConfig.c for VIS_GETIDENTIFIER */
|
Used by hw/xfree86/common/xf86AutoConfig.c for VIS_GETIDENTIFIER */
|
||||||
_X_HIDDEN char xf86SolarisFbDev[PATH_MAX] = "/dev/fb";
|
_X_HIDDEN char xf86SolarisFbDev[PATH_MAX] = "/dev/fb";
|
||||||
|
|
||||||
|
static void
|
||||||
|
switch_to(int vt, const char *from)
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
SYSCALL(ret = ioctl(xf86Info.consoleFd, VT_ACTIVATE, vt));
|
||||||
|
if (ret != 0)
|
||||||
|
xf86Msg(X_WARNING, "%s: VT_ACTIVATE failed: %s\n",
|
||||||
|
from, strerror(errno));
|
||||||
|
|
||||||
|
SYSCALL(ret = ioctl(xf86Info.consoleFd, VT_WAITACTIVE, vt));
|
||||||
|
if (ret != 0)
|
||||||
|
xf86Msg(X_WARNING, "%s: VT_WAITACTIVE failed: %s\n",
|
||||||
|
from, strerror(errno));
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
xf86OpenConsole(void)
|
xf86OpenConsole(void)
|
||||||
{
|
{
|
||||||
@ -206,11 +222,7 @@ OPENCONSOLE:
|
|||||||
/*
|
/*
|
||||||
* Now get the VT
|
* Now get the VT
|
||||||
*/
|
*/
|
||||||
if (ioctl(xf86Info.consoleFd, VT_ACTIVATE, xf86Info.vtno) != 0)
|
switch_to(xf86Info.vtno, "xf86OpenConsole");
|
||||||
xf86Msg(X_WARNING, "xf86OpenConsole: VT_ACTIVATE failed\n");
|
|
||||||
|
|
||||||
if (ioctl(xf86Info.consoleFd, VT_WAITACTIVE, xf86Info.vtno) != 0)
|
|
||||||
xf86Msg(X_WARNING, "xf86OpenConsole: VT_WAITACTIVE failed\n");
|
|
||||||
|
|
||||||
#ifdef VT_SET_CONSUSER /* added in snv_139 */
|
#ifdef VT_SET_CONSUSER /* added in snv_139 */
|
||||||
if (strcmp(display, "0") == 0)
|
if (strcmp(display, "0") == 0)
|
||||||
@ -254,11 +266,7 @@ OPENCONSOLE:
|
|||||||
/*
|
/*
|
||||||
* Now re-get the VT
|
* Now re-get the VT
|
||||||
*/
|
*/
|
||||||
if (ioctl(xf86Info.consoleFd, VT_ACTIVATE, xf86Info.vtno) != 0)
|
switch_to(xf86Info.vtno, "xf86OpenConsole");
|
||||||
xf86Msg(X_WARNING, "xf86OpenConsole: VT_ACTIVATE failed\n");
|
|
||||||
|
|
||||||
if (ioctl(xf86Info.consoleFd, VT_WAITACTIVE, xf86Info.vtno) != 0)
|
|
||||||
xf86Msg(X_WARNING, "xf86OpenConsole: VT_WAITACTIVE failed\n");
|
|
||||||
|
|
||||||
#ifdef VT_SET_CONSUSER /* added in snv_139 */
|
#ifdef VT_SET_CONSUSER /* added in snv_139 */
|
||||||
if (strcmp(display, "0") == 0)
|
if (strcmp(display, "0") == 0)
|
||||||
@ -347,7 +355,7 @@ xf86CloseConsole(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Activate the VT that X was started on */
|
/* Activate the VT that X was started on */
|
||||||
ioctl(xf86Info.consoleFd, VT_ACTIVATE, xf86StartVT);
|
switch_to(xf86StartVT, "xf86CloseConsole");
|
||||||
}
|
}
|
||||||
#endif /* HAS_USL_VTS */
|
#endif /* HAS_USL_VTS */
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user