Patch 7.3.268
Problem:    Vim freezes when executing an external command with zsh.
Solution:   Use O_NOCTTY both in the master and slave. (Bjorn Winckler)
Files:      src/os_unix.c


*** ../vim-7.3.267/src/os_unix.c        2011-07-07 16:20:45.000000000 +0200
--- src/os_unix.c       2011-08-04 19:06:14.000000000 +0200
***************
*** 3889,3899 ****
        if (p_guipty && !(options & (SHELL_READ|SHELL_WRITE)))
        {
            pty_master_fd = OpenPTY(&tty_name);     /* open pty */
!           if (pty_master_fd >= 0 && ((pty_slave_fd =
!                                   open(tty_name, O_RDWR | O_EXTRA, 0)) < 0))
            {
!               close(pty_master_fd);
!               pty_master_fd = -1;
            }
        }
        /*
--- 3889,3909 ----
        if (p_guipty && !(options & (SHELL_READ|SHELL_WRITE)))
        {
            pty_master_fd = OpenPTY(&tty_name);     /* open pty */
!           if (pty_master_fd >= 0)
            {
!               /* Leaving out O_NOCTTY may lead to waitpid() always returning
!                * 0 on Mac OS X 10.7 thereby causing freezes. Let's assume
!                * adding O_NOCTTY always works when defined. */
! #ifdef O_NOCTTY
!               pty_slave_fd = open(tty_name, O_RDWR | O_NOCTTY | O_EXTRA, 0);
! #else
!               pty_slave_fd = open(tty_name, O_RDWR | O_EXTRA, 0);
! #endif
!               if (pty_slave_fd < 0)
!               {
!                   close(pty_master_fd);
!                   pty_master_fd = -1;
!               }
            }
        }
        /*
*** ../vim-7.3.267/src/version.c        2011-08-04 19:34:55.000000000 +0200
--- src/version.c       2011-08-04 19:36:00.000000000 +0200
***************
*** 711,712 ****
--- 711,714 ----
  {   /* Add new patch number below this line */
+ /**/
+     268,
  /**/

-- 
Mental Floss prevents moral decay!

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Raspunde prin e-mail lui