$ cat /proc/5222/stack
[<0>] __vt_event_wait.isra.3.part.4+0x40/0x90
[<0>] vt_waitactive+0x80/0xd0
[<0>] vt_ioctl+0xd34/0x1150
[<0>] tty_ioctl+0xf6/0x8c0
[<0>] do_vfs_ioctl+0xa8/0x630
[<0>] ksys_ioctl+0x75/0x80
[<0>] __x64_sys_ioctl+0x1a/0x20
[<0>] do_syscall_64+0x5a/0x120
[<0>] entry_SYSCALL_64_after_hwframe+0x44/0xa9
[<0>] 0xffffffffffffffff


# drivers/tty/vt/vt_ioctl.c 
/** 
* vt_waitactive - active console wait 
* @event: event code 
* @n: new console 
* 
* Helper for event waits. Used to implement the legacy 
* event waiting ioctls in terms of events 
*/ 

int vt_waitactive(int n) 
{ 
struct vt_event_wait vw; 
do { 
vw.event.event = VT_EVENT_SWITCH; 
__vt_event_queue(&vw); 
if (n == fg_console + 1) { 
__vt_event_dequeue(&vw); 
break; 
} 
__vt_event_wait(&vw); 
__vt_event_dequeue(&vw); 
if (vw.done == 0) 
return -EINTR; 
} while (vw.event.newev != n); 
return 0; 
} 

# drivers/tty/vt/vt_ioctl.c 
static void __vt_event_wait(struct vt_event_wait *vw) 
{ 
/* Wait for it to pass */ 
wait_event_interruptible(vt_event_waitqueue, vw->done); 
} 


# include/linux/wait.h 
/** 
* wait_event_interruptible - sleep until a condition gets true 
* @wq_head: the waitqueue to wait on 
* @condition: a C expression for the event to wait for 
* 
* The process is put to sleep (TASK_INTERRUPTIBLE) until the 
* @condition evaluates to true or a signal is received. 
* The @condition is checked each time the waitqueue @wq_head is woken up. 
* 
* wake_up() has to be called after changing any variable that could 
* change the result of the wait condition. 
* 
* The function will return -ERESTARTSYS if it was interrupted by a 
* signal and 0 if @condition evaluated to true.

-- 
You received this bug notification because you are a member of Ubuntu
Desktop Bugs, which is subscribed to gdm3 in Ubuntu.
https://bugs.launchpad.net/bugs/1817738

Title:
  Can't change virtual terminal when auto-login is enabled

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gdm3/+bug/1817738/+subscriptions

-- 
desktop-bugs mailing list
desktop-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/desktop-bugs

Reply via email to