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,v


From: Sam Steingold
Subject: [Emacs-diffs] Changes to emacs/src/process.c,v
Date: Sun, 11 Mar 2007 21:08:45 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Sam Steingold <sds>     07/03/11 21:08:45

Index: process.c
===================================================================
RCS file: /sources/emacs/emacs/src/process.c,v
retrieving revision 1.501
retrieving revision 1.502
diff -u -b -r1.501 -r1.502
--- process.c   11 Mar 2007 18:16:50 -0000      1.501
+++ process.c   11 Mar 2007 21:08:45 -0000      1.502
@@ -6495,13 +6495,16 @@
 #define WUNTRACED 0
 #endif /* no WUNTRACED */
       /* Keep trying to get a status until we get a definitive result.  */
-      do
-       {
-          sleep (1);
+      while (1) {
          errno = 0;
          pid = wait3 (&w, WNOHANG | WUNTRACED, 0);
+       if (! (pid < 0 && errno == EINTR))
+          break;
+        /* avoid a busyloop: wait3 is a system call, so we do not want
+           to prevent the kernel from actually sending SIGCHLD to emacs
+           by asking for it all the time */
+        sleep (1);
        }
-      while (pid < 0 && errno == EINTR);
 
       if (pid <= 0)
        {




reply via email to

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