diff options
author | Kenny Levinsen <kl@kl.wtf> | 2020-09-18 15:38:53 +0200 |
---|---|---|
committer | Kenny Levinsen <kl@kl.wtf> | 2020-09-22 01:01:46 +0200 |
commit | 51c7467516d6213d1ff614e4db1e216de6367cc8 (patch) | |
tree | 9785f1209ab1c61ddaee0c77a11b6091f1cdc74c /include/seat.h | |
parent | d16122e98a1630d3ea96ff80dc3ea262660fd502 (diff) |
seat: Rework seat activation/switch logic
The seat activation logic did not correctly handle VT switching and
switching between multiple sessions.
Session switching on VT-bound seats is now performed using a VT switch,
taking advantage of VT signals to perform the actual switch. This
simplifies switching logic and makes it more robust.
Diffstat (limited to 'include/seat.h')
-rw-r--r-- | include/seat.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/include/seat.h b/include/seat.h index 30f7cc4..2d269cc 100644 --- a/include/seat.h +++ b/include/seat.h @@ -33,9 +33,9 @@ struct seat { struct client *next_client; bool vt_bound; - bool vt_pending_ack; - int next_vt; - int curttyfd; + int cur_ttyfd; + int cur_vt; + int session_cnt; }; struct seat *seat_create(const char *name, bool vt_bound); @@ -52,7 +52,7 @@ int seat_close_device(struct client *client, struct seat_device *seat_device); struct seat_device *seat_find_device(struct client *client, int device_id); int seat_set_next_session(struct client *client, int session); -int seat_activate(struct seat *seat); +int seat_vt_activate(struct seat *seat); int seat_prepare_vt_switch(struct seat *seat); #endif |