Exemplo n.º 1
0
 IODeviceManager::~IODeviceManager()
 {
   if (started) {
     stop_devices();
   }
   destroy_devices();
 }                                                        
Exemplo n.º 2
0
static void
deactivate(void)
{
	struct swc_launch_event event = {.type = SWC_LAUNCH_EVENT_DEACTIVATE};

	send(sock[0], &event, sizeof(event), 0);
	stop_devices(true);
	active = false;
}
Exemplo n.º 3
0
static void
cleanup(void)
{
	struct vt_mode mode = {.mode = VT_AUTO};

	if (!original_vt_state.altered)
		return;

	/* Cleanup VT */
	ioctl(tty_fd, VT_SETMODE, &mode);
	ioctl(tty_fd, KDSETMODE, original_vt_state.console_mode);
	ioctl(tty_fd, KDSKBMODE, original_vt_state.kb_mode);

	/* Stop devices before switching the VT to make sure we have released the DRM
	 * device before the next session tries to claim it. */
	stop_devices(false);
	ioctl(tty_fd, VT_ACTIVATE, original_vt_state.vt);

	kill(0, SIGTERM);
}