aboutsummaryrefslogtreecommitdiff
path: root/job.c
Commit message (Collapse)AuthorAge
...
| * Like options, move the environ struct into environ.c.nicm2015-10-28
| |
* | Some header fixes.Nicholas Marriott2015-10-15
| |
* | Merge branch 'obsd-master'Thomas Adam2015-06-17
|\|
| * Use an explicit job state instead of avoid closing our side of thenicm2015-06-17
| | | | | | | | | | | | | | socketpair and setting it to -1 to mark when the other side is closed. This avoids closing it while the libevent bufferevent still has it (it could try to add it to the polled set which some mechanisms don't like). Fixes part a problem reported by Bruno Sutic.
* | Merge branch 'obsd-master'Thomas Adam2015-04-25
|\|
| * Set working directory for run-shell and if-shell.nicm2015-04-24
| |
* | No need for $Id$ now.Nicholas Marriott2014-11-08
| |
* | Merge branch 'obsd-master'Thomas Adam2014-10-21
|\| | | | | | | | | | | | | | | | | | | Conflicts: Makefile cmd-list-commands.c cmd-suspend-client.c job.c tmux.h xmalloc.c
| * Tidy up some includes.nicm2014-10-20
| |
* | Merge branch 'obsd-master'Thomas Adam2014-04-23
|\| | | | | | | | | | | | | Conflicts: Makefile tmux.1 window.c
| * Don't leak socketpair file descriptors if fork fails. Spotted by Balazsnicm2014-04-14
| | | | | | | | Kezes.
| * Use format_get_command() and some spacing tweaks.nicm2013-10-10
| |
* | Add openat() to compat.Nicholas Marriott2013-10-10
| |
* | Merge branch 'obsd-master'Thomas Adam2013-04-23
|\| | | | | | | Sync from OpenBSD.
| * %zu format for size_t.Nicholas Marriott2013-04-17
| |
* | Merge branch 'obsd-master'Thomas Adam2013-04-13
|\| | | | | | | | | Conflicts: tmux.c
| * Set EV_WRITE for jobs or run/if-shell jobs can hang. From Chris Johnsen.Nicholas Marriott2013-04-10
| |
| * Extend jobs to support writing and use that for copy-pipe instead ofNicholas Marriott2013-03-25
| | | | | | | | popen, from Chris Johnsen.
| * No more lint means no more ARGSUSED.Nicholas Marriott2013-03-22
| |
| * xfree is not particularly helpful, remove it. From Thomas Adam.Nicholas Marriott2012-07-10
| |
| * Call bufferevent_free before closing file descriptor associated with itNicholas Marriott2012-01-29
| | | | | | | | | | or bugs in $EventMechanism on $OtherOS makes libevent get it's knickers in a twist. From Dylan Alex Simon.
| * Simplify the way jobs work and drop the persist type, so all jobs areNicholas Marriott2011-01-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fire-and-forget. Status jobs now managed with two trees of output (new and old), rather than storing the output in the jobs themselves. When the status line is processed any jobs which don't appear in the new tree are started and the output from the old tree displayed. When a job finishes it updates the new tree with its output and that is used for any subsequent redraws. When the status interval expires, the new tree is moved to the old so that all jobs are run again. This fixes the "#(echo %H:%M:%S)" problem which would lead to thousands of identical persistent jobs and high memory use (this can still be achieved by adding "sleep 30" but that is much less likely to happen by accident).
| * Use LIST_* not SLIST_*.Nicholas Marriott2011-01-26
| |
| * Set $TMUX without the session when background jobs are run.Nicholas Marriott2011-01-23
| |
| * 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").
| * Trying to set FD_CLOEXEC on every fd is a lost cause, just useNicholas Marriott2010-10-16
| | | | | | | | closefrom() before exec.
| * 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.
| * 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.
| * Run job commands explicitly in the global enviroment (which can beNicholas Marriott2010-04-04
| | | | | | | | | | modified with setenv -g) rather than with the environment tmux started with.
| * Typo fix from Tim van der Molen.Nicholas Marriott2010-02-24
| |
| * 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...
| * Remove a couple of unused arguments where possible, and add /* ARGSUSED */ toNicholas Marriott2009-11-26
| | | | | | | | the rest to reduce lint output.
| * Add back JOB_PERSIST checks that got lost.Nicholas Marriott2009-11-04
| |
| * Switch jobs over to use a bufferevent.Nicholas Marriott2009-11-04
| |
| * Initial changes to move tmux to libevent.Nicholas Marriott2009-11-04
| | | | | | | | | | | | | | | | | | This moves the client-side loops are pretty much fully over to event-based only (tmux.c and client.c) but server-side (server.c and friends) treats libevent as a sort of clever poll, waking up after every event to run various things. Moving the server stuff over to bufferevents and timers and so on will come later.
| * Add a flag for jobs that shouldn't be freed after they've died and use it forNicholas Marriott2009-11-01
| | | | | | | | | | | | | | status jobs, then only kill those jobs when status-left, status-right or set-titles-string is changed. Fixes problems with changing options from inside #().
| * Remove unused function.Nicholas Marriott2009-10-21
| |
| * Getting the read and write ends of the pipe the right way round is usuallyNicholas Marriott2009-10-21
| | | | | | | | recommended. DOH.
| * Sort out stdout before stdin/stderr in case the stdout side of the pipe got oneNicholas Marriott2009-10-20
| | | | | | | | of their fds.
| * Switch run-shell over to queue the command in the background like #().Nicholas Marriott2009-10-11
| |
| * There isn't much point in having a free function if it isn't used.Nicholas Marriott2009-10-11
| | | | | | | | Also allow a NULL tree.
| * Collect status from dead jobs and don't invoke the callback until bothNicholas Marriott2009-10-11
| | | | | | | | all input (the socket is closed) and status is available.
| * Put all jobs on a global all_jobs list and use that in server.c instead ofNicholas Marriott2009-10-10
| | | | | | | | running through all the clients.
| * Rather than running status-left, status-right and window title #() with popenNicholas Marriott2009-10-10
| | | | | | | | | | | | | | | | | immediately every redraw, queue them up and run them in the background, starting each once every status-interval. The actual status line uses the output from the last run. This brings several advantages: - tmux itself may be called from inside #() without causing the server to hang; - likewise, sleep or similar doesn't cause the server to block; - commands aren't run excessively often when redrawing; - commands shared by status-left and status-right, or used multiple times, will only be run once. run-shell and if-shell still use system()/popen() but will be changed over to use this too later.
* Extend jobs to support writing and use that for copy-pipe instead of popen,Nicholas Marriott2013-03-21
| | | | from Chris Johnsen.
* No more lint means no more ARGSUSED.Nicholas Marriott2013-02-17
|
* Sync OpenBSD patchset 1150:Tiago Cunha2012-07-11
| | | | | xfree is not particularly helpful, remove it. From Thomas Adam.
* Sync OpenBSD patchset 1014:Tiago Cunha2012-01-29
| | | | | | | Call bufferevent_free before closing file descriptor associated with it or bugs in $EventMechanism on $OtherOS makes libevent get it's knickers in a twist. From Dylan Alex Simon.