diff options
author | Nicholas Marriott <nicholas.marriott@gmail.com> | 2020-05-10 16:52:46 +0100 |
---|---|---|
committer | Nicholas Marriott <nicholas.marriott@gmail.com> | 2020-05-10 16:52:46 +0100 |
commit | d01e7aac89fefff31e668ac2d668c84c345b9e67 (patch) | |
tree | 5d773b1d95cb96f9c3b70e1d34c355f283a0a136 /tmux.c | |
parent | 5fa377d9273ee609784acc538a5defa09feb3095 (diff) | |
download | rtmux-d01e7aac89fefff31e668ac2d668c84c345b9e67.tar.gz rtmux-d01e7aac89fefff31e668ac2d668c84c345b9e67.tar.bz2 rtmux-d01e7aac89fefff31e668ac2d668c84c345b9e67.zip |
Add a -D flag to ask tmux not to daemonize, useful both for running a debugger
(lldb does not have follow-fork-mode) and for running with a managed supervisor
init system. GitHub issue 2190.
Diffstat (limited to 'tmux.c')
-rw-r--r-- | tmux.c | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -54,7 +54,7 @@ static __dead void usage(void) { fprintf(stderr, - "usage: %s [-2CluvV] [-c shell-command] [-f file] [-L socket-name]\n" + "usage: %s [-2CDluvV] [-c shell-command] [-f file] [-L socket-name]\n" " [-S socket-path] [-T features] [command [flags]]\n", getprogname()); exit(1); @@ -327,7 +327,7 @@ main(int argc, char **argv) if (**argv == '-') flags = CLIENT_LOGIN; - while ((opt = getopt(argc, argv, "2c:Cdf:lL:qS:T:uUvV")) != -1) { + while ((opt = getopt(argc, argv, "2c:CDdf:lL:qS:T:uUvV")) != -1) { switch (opt) { case '2': tty_add_features(&feat, "256", ":,"); @@ -335,6 +335,9 @@ main(int argc, char **argv) case 'c': shell_command = optarg; break; + case 'D': + flags |= CLIENT_NOFORK; + break; case 'C': if (flags & CLIENT_CONTROL) flags |= CLIENT_CONTROLCONTROL; @@ -378,6 +381,8 @@ main(int argc, char **argv) if (shell_command != NULL && argc != 0) usage(); + if ((flags & CLIENT_NOFORK) && argc != 0) + usage(); if ((ptm_fd = getptmfd()) == -1) err(1, "getptmfd"); |