emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/process.c


From: Kim F . Storm
Subject: [Emacs-diffs] Changes to emacs/src/process.c
Date: Tue, 07 Jun 2005 09:19:25 -0400

Index: emacs/src/process.c
diff -c emacs/src/process.c:1.454 emacs/src/process.c:1.455
*** emacs/src/process.c:1.454   Sun May 22 09:48:37 2005
--- emacs/src/process.c Tue Jun  7 13:19:25 2005
***************
*** 272,288 ****
  #define READ_OUTPUT_DELAY_MAX       (READ_OUTPUT_DELAY_INCREMENT * 5)
  #define READ_OUTPUT_DELAY_MAX_MAX   (READ_OUTPUT_DELAY_INCREMENT * 7)
  
! /* Number of processes which might be delayed.  */
  
  static int process_output_delay_count;
  
! /* Non-zero if any process has non-nil process_output_skip.  */
  
  static int process_output_skip;
  
  /* Non-nil means to delay reading process output to improve buffering.
     A value of t means that delay is reset after each send, any other
!    non-nil value does not reset the delay.  */
  static Lisp_Object Vprocess_adaptive_read_buffering;
  #else
  #define process_output_delay_count 0
--- 272,290 ----
  #define READ_OUTPUT_DELAY_MAX       (READ_OUTPUT_DELAY_INCREMENT * 5)
  #define READ_OUTPUT_DELAY_MAX_MAX   (READ_OUTPUT_DELAY_INCREMENT * 7)
  
! /* Number of processes which have a non-zero read_output_delay,
!    and therefore might be delayed for adaptive read buffering.  */
  
  static int process_output_delay_count;
  
! /* Non-zero if any process has non-nil read_output_skip.  */
  
  static int process_output_skip;
  
  /* Non-nil means to delay reading process output to improve buffering.
     A value of t means that delay is reset after each send, any other
!    non-nil value does not reset the delay.  A value of nil disables
!    adaptive read buffering completely.  */
  static Lisp_Object Vprocess_adaptive_read_buffering;
  #else
  #define process_output_delay_count 0
***************
*** 4319,4324 ****
--- 4321,4331 ----
  #endif
  
  #ifdef ADAPTIVE_READ_BUFFERING
+         /* Set the timeout for adaptive read buffering if any
+            process has non-nil read_output_skip and non-zero
+            read_output_delay, and we are not reading output for a
+            specific wait_channel.  It is not executed if
+            Vprocess_adaptive_read_buffering is nil.  */
          if (process_output_skip && check_delay > 0)
            {
              int usecs = EMACS_USECS (timeout);
***************
*** 4329,4334 ****
--- 4336,4343 ----
                  proc = chan_process[channel];
                  if (NILP (proc))
                    continue;
+                 /* Find minimum non-zero read_output_delay among the
+                    processes with non-nil read_output_skip.  */
                  if (XINT (XPROCESS (proc)->read_output_delay) > 0)
                    {
                      check_delay--;
***************
*** 6711,6717 ****
  #endif /* HAVE_SOCKETS */
  
  #if defined (DARWIN) || defined (MAC_OSX)
!   /* PTYs are broken on Darwin < 6, but are sometimes useful for interactive 
       processes.  As such, we only change the default value.  */
   if (initialized)
    {
--- 6720,6726 ----
  #endif /* HAVE_SOCKETS */
  
  #if defined (DARWIN) || defined (MAC_OSX)
!   /* PTYs are broken on Darwin < 6, but are sometimes useful for interactive
       processes.  As such, we only change the default value.  */
   if (initialized)
    {




reply via email to

[Prev in Thread] Current Thread [Next in Thread]