aboutsummaryrefslogtreecommitdiff
path: root/server.c
Commit message (Collapse)AuthorAge
...
| * Wake up any clients waiting with the wait-for command when the servernicm2014-09-01
| | | | | | | | exits.
* | Merge branch 'obsd-master'Thomas Adam2014-08-09
|\| | | | | | | | | Conflicts: client.c
| * lockf is entirely useless and it was a mistake to change to it, go backnicm2014-07-21
| | | | | | | | | | to using flock which actually works sensibly. Also always retry the lock to fix a potential race, and add some extra logging.
* | Merge branch 'obsd-master'Thomas Adam2014-06-20
|\|
| * Now that cmdlists are reference counted, there is no need for two-stepnicm2014-05-14
| | | | | | | | deletion via the dead_key_bindings tree. From Keith Amling.
* | Merge branch 'obsd-master'Thomas Adam2014-04-24
|\|
| * There is no longer a need for a paste_stack struct or for global_buffersnicm2014-04-24
| | | | | | | | to be global. Move to paste.c.
* | Merge branch 'obsd-master'Thomas Adam2014-04-23
|\| | | | | | | | | | | | | Conflicts: Makefile tmux.1 window.c
| * Some more long lines.nicm2014-04-17
| |
* | Merge branch 'obsd-master'Thomas Adam2013-11-14
|\|
| * Do not run any command line command from the client which starts thenicm2013-10-20
| | | | | | | | | | | | server until after the configuration file completes. This prevents it racing against run-shell or if-shell in .tmux.conf that run in the background.
| * Rename global configuration define.Nicholas Marriott2013-04-24
| |
| * Add a command queue to standardize and simplify commands that call otherNicholas Marriott2013-03-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commands and allow a command to block execution of subsequent commands. This allows run-shell and if-shell to be synchronous which has been much requested. Each client has a default command queue and commands are consumed one at a time from it. A command may suspend execution from the queue by returning CMD_RETURN_WAIT and then resume it by calling cmd_continue() - for example run-shell does this from the callback that is fired after the job is freed. When the command queue becomes empty, command clients are automatically exited (unless attaching). A callback is also fired - this is used for nested commands in, for example, if-shell which can block execution of the client's cmdq until a new cmdq becomes empty. Also merge all the old error/info/print functions together and lose the old curclient/cmdclient distinction - a cmdq is bound to one client (or none if in the configuration file), this is a command client if c->session is NULL otherwise an attached client.
| * No more lint means no more ARGSUSED.Nicholas Marriott2013-03-22
| |
* | Use sysconfdir for the location of global tmux.conf (but default it to /etc),Nicholas Marriott2013-04-24
| | | | | | | | based on changes from Dagobert Michelsen.
* | Add a command queue to standardize and simplify commands that call otherNicholas Marriott2013-02-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commands and allow a command to block execution of subsequent commands. This allows run-shell and if-shell to be synchronous which has been much requested. Each client has a default command queue and commands are consumed one at a time from it. A command may suspend execution from the queue by returning CMD_RETURN_WAIT and then resume it by calling cmd_continue() - for example run-shell does this from the callback that is fired after the job is freed. When the command queue becomes empty, command clients are automatically exited (unless attaching). A callback is also fired - this is used for nested commands in, for example, if-shell which can block execution of the client's cmdq until a new cmdq becomes empty. Also merge all the old error/info/print functions together and lose the old curclient/cmdclient distinction - a cmdq is bound to one client (or none if in the configuration file), this is a command client if c->session is NULL otherwise an attached client.
* | No more lint means no more ARGSUSED.Nicholas Marriott2013-02-17
| |
* | Merge branch 'obsd-master'Thomas Adam2012-12-08
|\| | | | | | | Sync from OpenBSD.
| * Fix argument order in a log statement.Nicholas Marriott2012-12-06
| |
* | Merge branch 'obsd-master'Thomas Adam2012-11-22
|\| | | | | | | | | | | | | | | | | Sync from OpenBSD. * obsd-master: Add halfpage commands to mode command string table (missed by accident), from Thomas Adam. Clarify some points about config files, notably that they are only read at server start. From Thomas Adam. Use a utility function for common code to show errors in config file, from Thomas Adam.
| * Use a utility function for common code to show errors in config file,Nicholas Marriott2012-11-19
| | | | | | | | from Thomas Adam.
| * xfree is not particularly helpful, remove it. From Thomas Adam.Nicholas Marriott2012-07-10
| |
| * Stop accepting new clients for 1 second on EMFILE/ENFILE. Based onNicholas Marriott2012-04-11
| | | | | | | | ongoing fixes to other daemons by Theo.
| * Use a lock file and flock() to serialize server start, avoids problemsNicholas Marriott2012-03-09
| | | | | | | | | | when running a bunch of tmux from cron at the same time. Based on a diff from Tim Ruehsen.
| * Give each pane created in a tmux server a unique id (starting from 0),Nicholas Marriott2011-03-27
| | | | | | | | | | put it in the TMUX_PANE environment variable and accept it as a target. Suggested by and with testing and tweaks from Ben Boeckel.
| * Use LIST_* not SLIST_*.Nicholas Marriott2011-01-26
| |
| * Move all calls to fcntl(...O_NONBLOCK) into a function and clear theNicholas Marriott2011-01-08
| | | | | | | | | | flag on the stdio file descriptors before closing them (fixes things like "tmux ls && cat").
| * Don't reset the activity timer for unattached sessions every second,Nicholas Marriott2011-01-01
| | | | | | | | | | | | | | this screws up the choice of most-recently-used. Instead, break the time update into a little function and do it when the session is attached. Pointed out by joshe@.
| * Change from a per-session stack of buffers to one global stack which isNicholas Marriott2010-12-30
| | | | | | | | | | | | | | much more convenient and also simplifies lot of code. This renders copy-buffer useless and makes buffer-limit now a server option. By Tiago Cunha.
| * Store sessions in an RB tree by name rather than a list, this is tidierNicholas Marriott2010-12-21
| | | | | | | | | | | | | | | | | | and allows them to easily be shown sorted in various lists (list-sessions/choose-sessions). Keep a session index which is used in a couple of places internally but make it an ever-increasing number rather than filling in gaps with new sessions.
| * Merge the before and after attach client code into one in client.cNicholas Marriott2010-10-18
| | | | | | | | (instead of two in tmux.c and client.c).
| * Trying to set FD_CLOEXEC on every fd is a lost cause, just useNicholas Marriott2010-10-16
| | | | | | | | closefrom() before exec.
| * Two new options:Nicholas Marriott2010-09-26
| | | | | | | | | | | | | | | | | | | | | | | | - server option "exit-unattached" makes the server exit when no clients are attached, even if sessions are present; - session option "destroy-unattached" destroys a session once no clients are attached to it. These are useful for preventing tmux remaining in the background where it is undesirable and when using tmux as a login shell to keep a limit on new sessions.
| * Modify the permissions on the socket when adding or removing +x to showNicholas Marriott2010-09-26
| | | | | | | | attached sessions, rather than replacing them.
| * Do not call event_del() for signals after fork(), just use sigaction()Nicholas Marriott2010-08-19
| | | | | | | | | | directly instead - calling libevent functions after fork() w/o event_reinit() is a bad idea, even if in this case it was harmless.
| * switch back to kqueue for now, since (a) kqueue has been fixed to dealTheo Deraadt2010-08-04
| | | | | | | | | | | | with strange devices and (b) since there appears to be a bull in the poll code in libevent as well... requested by nicm who is away
| * kqueue(2) is currently broken when used with /dev/null and a few otherNicholas Marriott2010-07-24
| | | | | | | | | | | | | | | | devices. An upcoming fix for some problems with the client stdout/stderr handling relies on it working, so make tmux force libevent to use poll(2) via EVENT_NOKQUEUE, until we have fixed kqueue.
| * Give tmux sockets (but not the containing folder) groupNicholas Marriott2010-06-21
| | | | | | | | | | permissions. This allows hardlinks to the sockets to be used more easily.
| * Put this back in with the initialisation in the right order.Nicholas Marriott2010-05-04
| |
| * Revert last change, it appears to be broken somehow.Nicholas Marriott2010-05-04
| |
| * Make signal handler setup/teardown two common functions instead of six,Nicholas Marriott2010-05-03
| | | | | | | | | | and reset SIGCHLD after fork to fix problems with some shells. From Romain Francois.
| * Merge copy mode and output mode, dropping the latter. Idea and code fromNicholas Marriott2010-04-06
| | | | | | | | Micah Cowan.
| * Nuke unused variable.Nicholas Marriott2010-03-22
| |
| * Use the array.h code for the causes list.Nicholas Marriott2010-02-06
| |
| * Instead of bailing out on the first configuration file error, carry on,Nicholas Marriott2010-02-06
| | | | | | | | | | collecting all the errors, then start with the active window in more mode displaying them.
| * Ignore SIGHUP as well.Nicholas Marriott2010-01-30
| |
| * Massive spaces->tabs and trailing whitespace cleanup, hopefully for the lastNicholas Marriott2009-12-03
| | | | | | | | | | time now I've configured emacs to make them displayed in really annoying colours...
| * Close the pane if the process died due to a signal, not just if it exitedNicholas Marriott2009-12-02
| | | | | | | | normally.
| * Remove a couple of unused arguments where possible, and add /* ARGSUSED */ toNicholas Marriott2009-11-26
| | | | | | | | the rest to reduce lint output.
| * Destroy panes immediately rather than checking them all every loop.Nicholas Marriott2009-11-13
| |