seat: Open/close tty on activation/deactivation
The VT and KD ioctl's are picky about the tty fd used. In order to satisfy these, and to improve state cleanup, we now only and store the current tty when opening a client, and use this fd to perform teardown later. The presence of the fd is also used to signal that teardown is needed.
This commit is contained in:
parent
b731b18e0a
commit
b751481e5c
4 changed files with 129 additions and 183 deletions
|
@ -32,6 +32,7 @@ struct seat {
|
|||
bool vt_bound;
|
||||
bool vt_pending_ack;
|
||||
int next_vt;
|
||||
int curttyfd;
|
||||
};
|
||||
|
||||
struct seat *seat_create(const char *name, bool vt_bound);
|
||||
|
|
|
@ -3,12 +3,15 @@
|
|||
|
||||
#include <stdbool.h>
|
||||
|
||||
int terminal_open(int vt);
|
||||
|
||||
int terminal_set_process_switching(int fd, bool enable);
|
||||
int terminal_setup(int vt);
|
||||
int terminal_teardown(int vt);
|
||||
int terminal_current_vt(void);
|
||||
int terminal_switch_vt(int vt);
|
||||
int terminal_ack_switch(void);
|
||||
int terminal_set_keyboard(int vt, bool enable);
|
||||
int terminal_set_graphics(int vt, bool enable);
|
||||
int terminal_current_vt(int fd);
|
||||
int terminal_switch_vt(int fd, int vt);
|
||||
int terminal_ack_switch(int fd);
|
||||
int terminal_set_keyboard(int fd, bool enable);
|
||||
int terminal_set_graphics(int fd, bool enable);
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue