Nicholas Marriott
9a7cde0c9b
Two new options:
...
- 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.
2010-09-26 20:43:30 +00:00
Nicholas Marriott
66152010a7
Modify the permissions on the socket when adding or removing +x to show
...
attached sessions, rather than replacing them.
2010-09-26 18:51:48 +00:00
Tiago Cunha
56040be346
Sync OpenBSD patchset 751:
...
Do not call event_del() for signals after fork(), just use sigaction()
directly instead - calling libevent functions after fork() w/o
event_reinit() is a bad idea, even if in this case it was harmless.
2010-08-29 14:42:11 +00:00
Nicholas Marriott
e3be9b1951
Do not call event_del() for signals after fork(), just use sigaction()
...
directly instead - calling libevent functions after fork() w/o
event_reinit() is a bad idea, even if in this case it was harmless.
2010-08-19 18:29:01 +00:00
Theo Deraadt
4274a7ec89
switch back to kqueue for now, since (a) kqueue has been fixed to deal
...
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
2010-08-04 19:46:13 +00:00
Nicholas Marriott
bf09b00fe9
kqueue(2) is currently broken when used with /dev/null and a few other
...
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.
2010-07-24 19:25:31 +00:00
Tiago Cunha
29434cb043
Sync OpenBSD patchset 722:
...
Give tmux sockets (but not the containing folder) group
permissions. This allows hardlinks to the sockets to be used more
easily.
2010-06-22 23:21:39 +00:00
Nicholas Marriott
ad466a69aa
Give tmux sockets (but not the containing folder) group
...
permissions. This allows hardlinks to the sockets to be used more
easily.
2010-06-21 00:18:57 +00:00
Nicholas Marriott
59c13133de
Fix bad merge, from Romain Francoise.
2010-05-16 17:50:31 +00:00
Tiago Cunha
fc69b9ccb7
Sync OpenBSD patchset 696:
...
Make signal handler setup/teardown two common functions instead of six,
and reset SIGCHLD after fork to fix problems with some shells. From
Romain Francoise.
2010-05-14 14:30:01 +00:00
Nicholas Marriott
c4a2fdf15b
Put this back in with the initialisation in the right order.
2010-05-04 17:28:16 +00:00
Nicholas Marriott
af5e0bd15a
Revert last change, it appears to be broken somehow.
2010-05-04 08:48:06 +00:00
Nicholas Marriott
ec1d37b1b2
Make signal handler setup/teardown two common functions instead of six,
...
and reset SIGCHLD after fork to fix problems with some shells. From
Romain Francois.
2010-05-03 16:06:32 +00:00
Nicholas Marriott
08632b4f0a
there can be only one rpathbuf
2010-04-08 07:54:43 +00:00
Nicholas Marriott
10b73b7a11
Sync nit.
2010-04-06 22:08:10 +00:00
Nicholas Marriott
ac9daf92d7
Merge copy mode and output mode, dropping the latter. Idea and code from
...
Micah Cowan.
2010-04-06 21:35:44 +00:00
Micah Cowan
2d74ce1d3a
Merge output (more) and copy modes into one single mode (called copy).
2010-04-05 05:11:44 +00:00
Nicholas Marriott
509ce7f766
Nuke unused variable.
2010-03-22 19:11:54 +00:00
Nicholas Marriott
a2c87eb899
Unused variable.
2010-03-16 23:40:14 +00:00
Tiago Cunha
36a80b2cd6
Sync OpenBSD patchset 640:
...
Use the array.h code for the causes list.
2010-02-08 18:29:32 +00:00
Tiago Cunha
a32d095c97
Sync OpenBSD patchset 635:
...
Instead of bailing out on the first configuration file error, carry on,
collecting all the errors, then start with the active window in more mode
displaying them.
2010-02-08 18:10:07 +00:00
Nicholas Marriott
4651180503
Use the array.h code for the causes list.
2010-02-06 23:22:27 +00:00
Nicholas Marriott
8aba77b7be
Instead of bailing out on the first configuration file error, carry on,
...
collecting all the errors, then start with the active window in more mode
displaying them.
2010-02-06 17:15:33 +00:00
Tiago Cunha
3116e3ce21
Sync OpenBSD patchset 625:
...
Ignore SIGHUP as well.
2010-02-02 23:50:01 +00:00
Nicholas Marriott
65c9004550
Ignore SIGHUP as well.
2010-01-30 19:05:18 +00:00
Tiago Cunha
cc094fdfe6
Sync OpenBSD patchset 581:
...
Massive spaces->tabs and trailing whitespace cleanup, hopefully for the last
time now I've configured emacs to make them displayed in really annoying
colours...
2009-12-04 22:14:47 +00:00
Tiago Cunha
4ba8fce7ea
Sync OpenBSD patchset 578:
...
Close the pane if the process died due to a signal, not just if it exited
normally.
2009-12-04 22:04:55 +00:00
Nicholas Marriott
15a64b805e
Massive spaces->tabs and trailing whitespace cleanup, hopefully for the last
...
time now I've configured emacs to make them displayed in really annoying
colours...
2009-12-03 22:50:09 +00:00
Nicholas Marriott
459e9de81a
Close the pane if the process died due to a signal, not just if it exited
...
normally.
2009-12-02 15:06:14 +00:00
Tiago Cunha
c12e0b0708
Sync OpenBSD patchset 567:
...
Remove a couple of unused arguments where possible, and add /* ARGSUSED */ to
the rest to reduce lint output.
2009-11-28 14:50:37 +00:00
Nicholas Marriott
4ca857e0e9
Remove a couple of unused arguments where possible, and add /* ARGSUSED */ to
...
the rest to reduce lint output.
2009-11-26 21:37:13 +00:00
Tiago Cunha
72bc03ac4c
Sync OpenBSD patchset 535:
...
Destroy panes immediately rather than checking them all every loop.
2009-11-14 17:48:39 +00:00
Nicholas Marriott
8e47966225
Destroy panes immediately rather than checking them all every loop.
2009-11-13 17:33:07 +00:00
Tiago Cunha
e8424d333e
Sync OpenBSD patchset 528:
...
Free the pane bufferevent when the fd is closed (the signal could come before
the error callback).
2009-11-13 16:52:46 +00:00
Tiago Cunha
1b4a76d58f
Sync OpenBSD patchset 527:
...
Only need to chmod +x or -x the socket when a client is created, lost or
attached, rather than every event loop.
2009-11-13 16:51:49 +00:00
Nicholas Marriott
08a8ccf46b
Free the pane bufferevent when the fd is closed (the signal could come before
...
the error callback).
2009-11-11 13:24:42 +00:00
Nicholas Marriott
7230fe1648
OS X is still broken, so ask libevent not to use kqueue or poll.
2009-11-11 09:54:07 +00:00
Nicholas Marriott
2756437f4b
Only need to chmod +x or -x the socket when a client is created, lost or
...
attached, rather than every event loop.
2009-11-11 08:00:42 +00:00
Tiago Cunha
fb22aaf87f
Sync OpenBSD patchset 510:
...
EVLOOP_ONCE takes care of the wakeup, so no need to call event_loopexit(NULL).
2009-11-08 23:28:40 +00:00
Tiago Cunha
5ac6ea61bd
Sync OpenBSD patchset 509:
...
Now all timers are events, there is no longer any need to wake up every 50 ms -
only wake up when an event happens.
2009-11-08 23:27:58 +00:00
Tiago Cunha
915031b049
Sync OpenBSD patchset 505:
...
Move status timer check into the global once-per-second timer, this could maybe
be done better but one every second is better than once every 50 ms.
2009-11-08 23:12:35 +00:00
Tiago Cunha
bee17719d8
Sync OpenBSD patchset 503:
...
Don't reenlist the client imsg event every loop, instead have a small function
to it and call it after the event triggers or after a imsg is added.
2009-11-08 23:09:36 +00:00
Tiago Cunha
40b6941c0f
Sync OpenBSD patchset 500:
...
Tell the client to exit on configuration file error.
2009-11-08 23:06:25 +00:00
Tiago Cunha
2df0882722
Sync OpenBSD patchset 498:
...
Convert the window pane (pty master side) fd over to use a bufferevent.
The evbuffer API is very similar to the existing tmux buffer API so this was
remarkably painless. Not many possible ways to do it, I suppose.
2009-11-08 23:02:56 +00:00
Tiago Cunha
70b2f1981e
Sync OpenBSD patchset 497:
...
Call event_init() before loading the config file, since potentially it could
set up events.
2009-11-08 23:00:44 +00:00
Tiago Cunha
53ef4c2bab
Sync OpenBSD patchset 493:
...
Switch jobs over to use a bufferevent.
2009-11-08 22:56:04 +00:00
Tiago Cunha
dd36982ad5
Sync OpenBSD patchset 491:
...
Initial changes to move tmux to libevent.
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.
2009-11-08 22:40:36 +00:00
Nicholas Marriott
25c604fb1c
EVLOOP_ONCE takes care of the wakeup, so no need to call event_loopexit(NULL).
2009-11-05 08:50:32 +00:00
Nicholas Marriott
38e13942ac
Now all timers are events, there is no longer any need to wake up every 50 ms -
...
only wake up when an event happens.
2009-11-05 08:48:15 +00:00
Nicholas Marriott
946ed97273
Move status timer check into the global once-per-second timer, this could maybe
...
be done better but one every second is better than once every 50 ms.
2009-11-04 23:42:51 +00:00