Commit Graph

30 Commits

Author SHA1 Message Date
Marc André Tanner 577ae6ae7a Slightly tweek communication protocol for -l option 2016-01-03 12:03:02 +01:00
Luke Clifton 1fcd6e4f44 Added -l option to move clients to the bottom of the stack.
This means it wont take control over the window size until
it is the last remaining one, unless another client connects
with the -l option set at a later time.
2016-01-02 20:01:03 +00:00
Marc André Tanner 15ae398ea5 Set sticky bit on socket
According to the XDG Base Directory Specification this should
prevent the file from being deleted by temporary cleanup
procedures.
2015-08-03 12:48:26 +02:00
Marc André Tanner 277f4d154d Improve detection and handling of stale sessions
With this it should be possible to create sessions for which a
dead left over socket still exists. Also the session list as
printed by abduco without any arguments will delete those stale
sockets.
2015-07-30 11:52:46 +02:00
Marc André Tanner 7962cb99f3 Cleanup socket creation 2015-02-25 23:27:44 +01:00
Marc André Tanner 91b7338f9d Set socket creation permission in a portable way
fchmod(2) on a socket file descriptor is unspecified behaviour
which happens to work on Linux. Use umask(2) instead which should
affect the permissions used by bind(2).
2015-02-21 18:18:21 +01:00
Marc André Tanner eef3b654d9 More error handling fixes 2015-02-17 00:02:06 +01:00
Marc André Tanner e4a6b01fdc Make error handling more robust 2015-02-16 23:40:25 +01:00
Marc André Tanner 5c7f933dcc Fix file descriptor leakage #30724 2015-02-16 22:42:01 +01:00
Marc André Tanner 3cfa99a031 Decouple socket path lookup logic 2014-12-22 13:23:26 +01:00
Marc André Tanner 35117affb9 Correct function definitions without parameters 2014-10-10 20:43:06 +02:00
Marc André Tanner 4b4c08457f Make client termination more robust by explicitly sending exit messages 2014-06-24 10:55:44 +02:00
Marc André Tanner 54c1dbddb2 Mark zombie sessions with '+' symbol
These are sessions which have no clients connected but their underlying
command already terminated.
2014-06-18 14:28:31 +02:00
Marc André Tanner fdf943d520 Make sure that clients are informed about session termination 2014-06-18 13:25:00 +02:00
Marc André Tanner a7e13911c5 Fix -n mode: do not wait for clients to connect 2014-06-18 13:24:59 +02:00
Marc André Tanner f4d3f21f00 Source code formatting changes 2014-03-22 17:38:17 +01:00
Marc André Tanner eccf9fd16e Introduce read only sessions (-r option)
Based on a patch from Lars Kellogg-Stedman.
2014-03-22 17:27:59 +01:00
Marc André Tanner 6000bc6240 Request screen size if most recently connected client disconnects 2014-03-21 21:57:50 +01:00
Marc André Tanner a99e46fd23 Simplify I/O handling 2014-03-21 20:40:55 +01:00
Marc André Tanner a3700092cb Mark the socket executable if clients are connected 2014-03-06 22:24:38 +01:00
Marc André Tanner 95db782096 Change resize policy
Only resize if the request is from the least recently connected client
or explicitly requested via a command.
2014-03-06 18:55:44 +01:00
Marc André Tanner f7a3290c9c Recreate server socket upon receiving SIGUSR1 2014-03-06 17:19:10 +01:00
Marc André Tanner b205eeea9a Don't wait for clients to be present inorder to read program I/O
Previously the underlying application would block on I/O because
we would wait to read it until a client is connected to display
the information. This prevented long running tasks from making
progress. However with the new approach output data of programs
which terminate while no client is connected is lost.
2014-03-06 12:58:15 +01:00
Marc André Tanner 6084fb4893 Make delivery of exit status code more reliable 2014-03-06 11:39:03 +01:00
Marc André Tanner 006c93a9d1 Send exit status back to client 2014-02-27 23:47:48 +01:00
Marc André Tanner 12287e473d Accept resize request only from the client which connected first
The problem this prevents is that when two instances are viewing
simultaneously they won't resize each other windows.
2014-02-27 17:04:36 +01:00
Marc André Tanner ed4f1ecdcd Use the same packet structure for both ways of the client server communiction
This is slightly less efficient than before but allows the server
to send different types of messages not only output data to the
client.
2014-02-26 21:13:18 +01:00
Marc André Tanner c14b9c9173 Unlink socket when server is killed 2014-02-25 23:36:02 +01:00
Marc André Tanner fcaf5368fa Use more appropriate types 2014-02-25 22:03:55 +01:00
Marc André Tanner 89cbbb3aa6 Initial import 2014-02-18 23:04:00 +01:00