Patch 7.4.2282
Problem:    When a child process is very fast waiting 10 msec for it is
            noticeable. (Ramel Eshed)
Solution:   Start waiting for 1 msec and gradually increase.
Files:      src/os_unix.c


*** ../vim-7.4.2281/src/os_unix.c       2016-08-17 21:31:54.441870400 +0200
--- src/os_unix.c       2016-08-28 16:36:36.487852289 +0200
***************
*** 3934,3939 ****
--- 3934,3940 ----
  wait4pid(pid_t child, waitstatus *status)
  {
      pid_t wait_pid = 0;
+     long delay_msec = 1;
  
      while (wait_pid != child)
      {
***************
*** 3948,3955 ****
  # endif
        if (wait_pid == 0)
        {
!           /* Wait for 10 msec before trying again. */
!           mch_delay(10L, TRUE);
            continue;
        }
        if (wait_pid <= 0
--- 3949,3958 ----
  # endif
        if (wait_pid == 0)
        {
!           /* Wait for 1 to 10 msec before trying again. */
!           mch_delay(delay_msec, TRUE);
!           if (++delay_msec > 10)
!               delay_msec = 10;
            continue;
        }
        if (wait_pid <= 0
***************
*** 4929,4934 ****
--- 4932,4939 ----
  # if defined(FEAT_XCLIPBOARD) && defined(FEAT_X11)
            else
            {
+               long delay_msec = 1;
+ 
                /*
                 * Similar to the loop above, but only handle X events, no
                 * I/O.
***************
*** 4961,4967 ****
                    /* Handle any X events, e.g. serving the clipboard. */
                    clip_update();
  
!                   mch_delay(10L, TRUE);
                }
            }
  # endif
--- 4966,4976 ----
                    /* Handle any X events, e.g. serving the clipboard. */
                    clip_update();
  
!                   /* Wait for 1 to 10 msec. 1 is faster but gives the child
!                    * less time. */
!                   mch_delay(delay_msec, TRUE);
!                   if (++delay_msec > 10)
!                       delay_msec = 10;
                }
            }
  # endif
*** ../vim-7.4.2281/src/version.c       2016-08-28 16:06:01.411721802 +0200
--- src/version.c       2016-08-28 16:37:21.091467583 +0200
***************
*** 765,766 ****
--- 765,768 ----
  {   /* Add new patch number below this line */
+ /**/
+     2282,
  /**/

-- 
A fool learns from his mistakes, a wise man from someone else's.

 /// Bram Moolenaar -- b...@moolenaar.net -- 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

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui