Mercurial > vim
changeset 1799:acc572c5660c v7.2.097
updated for version 7.2-097
author | vimboss |
---|---|
date | Wed, 04 Feb 2009 13:19:42 +0000 |
parents | d8e7b6762aaa |
children | e7633eb32cfd |
files | src/os_unix.c src/version.c |
diffstat | 2 files changed, 12 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/os_unix.c +++ b/src/os_unix.c @@ -3950,7 +3950,17 @@ mch_call_shell(cmd, options) * children can be kill()ed. Don't do this when using pipes, * because stdin is not a tty, we would lose /dev/tty. */ if (p_stmp) + { (void)setsid(); +# if defined(SIGHUP) + /* When doing "!xterm&" and 'shell' is bash: the shell + * will exit and send SIGHUP to all processes in its + * group, killing the just started process. Ignore SIGHUP + * to avoid that. (suggested by Simon Schubert) + */ + signal(SIGHUP, SIG_IGN); +# endif + } # endif # ifdef FEAT_GUI if (pty_slave_fd >= 0)