emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/trunk r110781: Fix a race condition in wait


From: Chong Yidong
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r110781: Fix a race condition in wait_reading_process_output (tiny change).
Date: Sat, 03 Nov 2012 23:44:59 +0800
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 110781
fixes bug: http://debbugs.gnu.org/11536
committer: Chong Yidong <address@hidden>
branch nick: trunk
timestamp: Sat 2012-11-03 23:44:59 +0800
message:
  Fix a race condition in wait_reading_process_output (tiny change).
  
  * src/process.c (wait_reading_process_output): Avoid a race condition
  with SIGIO delivery.
modified:
  src/ChangeLog
  src/process.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2012-11-03 15:24:00 +0000
+++ b/src/ChangeLog     2012-11-03 15:44:59 +0000
@@ -1,3 +1,8 @@
+2012-11-03  Jim Paris  <address@hidden>  (tiny change)
+
+       * process.c (wait_reading_process_output): Avoid a race condition
+       with SIGIO delivery (Bug#11536).
+
 2012-11-03  Chong Yidong  <address@hidden>
 
        * buffer.c (cursor_type): Untabify docstring.

=== modified file 'src/process.c'
--- a/src/process.c     2012-10-31 17:27:29 +0000
+++ b/src/process.c     2012-11-03 15:44:59 +0000
@@ -4697,9 +4697,12 @@
       /*  If we woke up due to SIGWINCH, actually change size now.  */
       do_pending_window_change (0);
 
+      /* The following optimization fails if SIGIO is received between
+        set_waiting_for_input and select (Bug#11536).
       if ((time_limit || nsecs) && nfds == 0 && ! timeout_reduced_for_timers)
-       /* We waited the full specified time, so return now.  */
        break;
+      */
+
       if (nfds < 0)
        {
          if (xerrno == EINTR)


reply via email to

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