To: vim-dev@vim.org
Subject: Patch 7.3.023
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.023
Problem: External program may hang when it tries to write to the tty.
Solution: Don't close the slave tty until after the child exits. (Nikola
Knezevic)
Files: src/os_unix.c
*** ../vim-7.3.022/src/os_unix.c 2010-09-21 22:09:28.000000000 +0200
--- src/os_unix.c 2010-10-13 16:17:33.000000000 +0200
***************
*** 4168,4174 ****
# ifdef FEAT_GUI
if (pty_master_fd >= 0)
{
- close(pty_slave_fd); /* close slave side of pty */
fromshell_fd = pty_master_fd;
toshell_fd = dup(pty_master_fd);
}
--- 4168,4173 ----
***************
*** 4637,4642 ****
--- 4636,4649 ----
break;
}
+ # ifdef FEAT_GUI
+ /* Close slave side of pty. Only do this after the child has
+ * exited, otherwise the child may hang when it tries to write on
+ * the pty. */
+ if (pty_master_fd >= 0)
+ close(pty_slave_fd);
+ # endif
+
/* Make sure the child that writes to the external program is
* dead. */
if (wpid > 0)
*** ../vim-7.3.022/src/version.c 2010-10-13 14:05:29.000000000 +0200
--- src/version.c 2010-10-13 16:20:48.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 23,
/**/
--
We're knights of the Round Table
Our shows are formidable
But many times
We're given rhymes
That are quite unsingable
We're opera mad in Camelot
We sing from the diaphragm a lot.
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///