summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2009-02-04 13:19:42 +0000
committerBram Moolenaar <Bram@vim.org>2009-02-04 13:19:42 +0000
commit0725608d1a501e8ccc82153102fdc7e26478577f (patch)
treed0af3f7de63b746219caade7f21334fe6ac0b07f
parent65b9a6ad59a53dad9b1e48c3d653d3e53079a652 (diff)
downloadvim-0725608d1a501e8ccc82153102fdc7e26478577f.zip
updated for version 7.2-097
-rw-r--r--src/os_unix.c10
-rw-r--r--src/version.c2
2 files changed, 12 insertions, 0 deletions
diff --git a/src/os_unix.c b/src/os_unix.c
index 9d6f6cb6f..27ee65e29 100644
--- 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)
diff --git a/src/version.c b/src/version.c
index 12905af76..d5e44843d 100644
--- a/src/version.c
+++ b/src/version.c
@@ -677,6 +677,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 97,
+/**/
96,
/**/
95,