From: Manuel Giraud <manuel@ledu-giraud.fr>
To: 29170@debbugs.gnu.org
Subject: bug#29170: Infinite loop noticed on Emacs in OpenBSD
Date: Thu, 09 Nov 2017 16:06:22 +0100 [thread overview]
Message-ID: <87fu9n7aq9.fsf@elite.giraud> (raw)
In-Reply-To: <87fu9rwksm.fsf@omecha.info>
Hi,
Here is a patch against HEAD to avoid the hang in infinite loop. The
'x-selection-timeout' pause will still be there even with this patch.
My understandings:
On OpenBSD, most of the time, the function
"xselect.c/x_get_foreign_selection" won't get a SelectNotify with
(SECONDARY, TEXT) as arguments (that I did not understand and it might
never happen on other oses).
But then, while waiting at most 'x-selection-timeout' into
"process.c/wait_reading_process_output" the 'now' variable won't have a
chance of being invalidated or updated and that is what cause the
infinite loop.
Someone more knowledgeable of "process.c/wait_reading_process_output"
might have a better solution to this problem.
diff --git a/src/process.c b/src/process.c
index fc46e74332..25bd28a82b 100644
--- a/src/process.c
+++ b/src/process.c
@@ -5115,8 +5115,7 @@ wait_reading_process_output (intmax_t time_limit, int nsecs, int read_kbd,
/* Exit if already run out. */
if (wait == TIMEOUT)
{
- if (!timespec_valid_p (now))
- now = current_timespec ();
+ now = current_timespec ();
if (timespec_cmp (end_time, now) <= 0)
break;
timeout = timespec_sub (end_time, now);
--
Manuel Giraud
next prev parent reply other threads:[~2017-11-09 15:06 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <877dtojnf0.fsf@elite.giraud>
2017-11-06 14:20 ` bug#29170: 26.0.90; Emacs freezes when capturing an org-template Grégoire Jadi
2017-11-08 18:00 ` bug#29170: Infinite loop noticed on Emacs in OpenBSD Piotr Isajew
2017-11-09 15:06 ` Manuel Giraud [this message]
2017-11-17 14:36 ` Grégoire Jadi
2017-11-22 14:44 ` Manuel Giraud
2017-11-22 14:50 ` Grégoire Jadi
2017-11-22 15:00 ` Manuel Giraud
2020-08-24 11:43 ` Stefan Kangas
2020-08-24 11:45 ` Stefan Kangas
2020-10-02 5:16 ` bug#29170: 26.0.90; Emacs freezes when capturing an org-template Lars Ingebrigtsen
2020-10-02 7:12 ` Eli Zaretskii
2020-10-02 14:30 ` Lars Ingebrigtsen
2020-10-02 15:08 ` Eli Zaretskii
2020-10-02 17:55 ` daimrod
2020-10-03 17:51 ` Lars Ingebrigtsen
2020-10-08 21:43 ` daimrod
2020-10-10 19:57 ` Lars Ingebrigtsen
2021-08-08 14:33 ` Grégoire Jadi
2021-08-08 14:49 ` Eli Zaretskii
2021-08-08 14:53 ` Grégoire Jadi
2021-08-09 12:31 ` Lars Ingebrigtsen
2021-08-13 7:36 ` Grégoire Jadi
2021-08-13 11:50 ` Lars Ingebrigtsen
2021-08-13 11:52 ` Lars Ingebrigtsen
2021-05-25 10:55 ` bug#29170: bug29170 graeme vetterlein
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87fu9n7aq9.fsf@elite.giraud \
--to=manuel@ledu-giraud.fr \
--cc=29170@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).