aboutsummaryrefslogtreecommitdiff
path: root/seatd/server.c
AgeCommit message (Collapse)Author
2020-09-22seat: Rework seat activation/switch logicKenny Levinsen
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.
2020-09-22poller: Raise signals through self-pipeKenny Levinsen
Signal handling relied on poll(2) being interrupted by signals, followed by a check for signal handlers flagging a signal as received. This only allowed signals that were received during poll(2) to be handled correctly. Implement the usual self-pipe implementation, where signal handlers write an arbitrary byte to a polled file descriptor to ensure proper level-triggered signal handling.
2020-09-01Move list removal to seat/client destroyKenny Levinsen
2020-08-31client: Do not leak idle clients on exitKenny Levinsen
2020-08-31server: Remember to remove seat from listKenny Levinsen
2020-08-31server: Convert seat list to linked_listKenny Levinsen
2020-08-07seatd: Add command-line argumentsKenny Levinsen
2020-08-04server: Gracefully shut down on errorKenny Levinsen
2020-08-03server: Stack-allocate the serverKenny Levinsen
2020-08-03poller: Inline the poller into the server structKenny Levinsen
2020-08-01FreeBSD compiler warning fixKenny Levinsen
2020-07-31Initial implementation of seatd and libseatKenny Levinsen