summaryrefslogtreecommitdiffstats
path: root/server.c
diff options
context:
space:
mode:
authorTiago Cunha <tcunha@gmx.com>2010-10-09 14:29:32 +0000
committerTiago Cunha <tcunha@gmx.com>2010-10-09 14:29:32 +0000
commitb5349ab5d94569e63b8446352f243e0cd9617030 (patch)
tree2604a50fe78880e09fc1422fad183d80912adc3d /server.c
parent7874b00d4c207dc82d075d64631aa87f22771af9 (diff)
Sync OpenBSD patchset 766:
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.
Diffstat (limited to 'server.c')
-rw-r--r--server.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/server.c b/server.c
index 2cee2f29..c1d11e99 100644
--- a/server.c
+++ b/server.c
@@ -1,4 +1,4 @@
-/* $Id: server.c,v 1.244 2010-10-09 14:26:29 tcunha Exp $ */
+/* $Id: server.c,v 1.245 2010-10-09 14:29:32 tcunha Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -226,15 +226,17 @@ server_loop(void)
}
}
-/* Check if the server should be shutting down (no more clients or windows). */
+/* Check if the server should be shutting down (no more clients or sessions). */
int
server_should_shutdown(void)
{
u_int i;
- for (i = 0; i < ARRAY_LENGTH(&sessions); i++) {
- if (ARRAY_ITEM(&sessions, i) != NULL)
- return (0);
+ if (!options_get_number(&global_options, "exit-unattached")) {
+ for (i = 0; i < ARRAY_LENGTH(&sessions); i++) {
+ if (ARRAY_ITEM(&sessions, i) != NULL)
+ return (0);
+ }
}
for (i = 0; i < ARRAY_LENGTH(&clients); i++) {
if (ARRAY_ITEM(&clients, i) != NULL)