[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 1e97ecb: Fix open-network-stream responsiveness
From: |
Paul Eggert |
Subject: |
[Emacs-diffs] master 1e97ecb: Fix open-network-stream responsiveness |
Date: |
Sun, 3 Jul 2016 08:50:41 +0000 (UTC) |
branch: master
commit 1e97ecb964a478e8b2f08b628695ac02b923eabe
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>
Fix open-network-stream responsiveness
Problem reported by Constantin Kulikov (Bug#23684).
* src/process.c (wait_reading_process_output):
Fix typo introduced in 2015-07-06T02:19:address@hidden
when wait == INFINITY and got_output_end_time is invalid.
In this case the code should break, not continue.
---
src/process.c | 20 ++++++++++++--------
1 file changed, 12 insertions(+), 8 deletions(-)
diff --git a/src/process.c b/src/process.c
index ed0c529..376e872 100644
--- a/src/process.c
+++ b/src/process.c
@@ -5269,16 +5269,20 @@ wait_reading_process_output (intmax_t time_limit, int
nsecs, int read_kbd,
haven't lowered our timeout due to timers or SIGIO and
have waited a long amount of time due to repeated
timers. */
+ struct timespec cmp_time;
+ bool have_cmp_time = false;
if (wait < TIMEOUT)
break;
- struct timespec cmp_time
- = (wait == TIMEOUT
- ? end_time
- : (!process_skipped && got_some_output > 0
- && (timeout.tv_sec > 0 || timeout.tv_nsec > 0))
- ? got_output_end_time
- : invalid_timespec ());
- if (timespec_valid_p (cmp_time))
+ else if (wait == TIMEOUT)
+ cmp_time = end_time, have_cmp_time = true;
+ else if (!process_skipped && got_some_output > 0
+ && (timeout.tv_sec > 0 || timeout.tv_nsec > 0))
+ {
+ if (!timespec_valid_p (got_output_end_time))
+ break;
+ cmp_time = got_output_end_time, have_cmp_time = true;
+ }
+ if (have_cmp_time)
{
now = current_timespec ();
if (timespec_cmp (cmp_time, now) <= 0)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master 1e97ecb: Fix open-network-stream responsiveness,
Paul Eggert <=