bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#22214: 25.0.50; lock up with gui dialogs and clipmon-mode


From: Po Lu
Subject: bug#22214: 25.0.50; lock up with gui dialogs and clipmon-mode
Date: Mon, 25 Apr 2022 08:50:59 +0800
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.91 (gnu/linux)

Joseph Mingrone <jrm@ftfl.ca> writes:

> I stopped using clipmon shortly after this bug was reported, but I just
> cloned the repository and ran
>
> % emacs -Q
> (load "/path/to/clipmon/clipmon.el")
> (run-at-time nil 2 (lambda () (gui-get-primary-selection)))
> (menu-set-font)
>
> When I dismissed the dialog box, sometimes things were fine, but other
> times, Emacs started to use 100% CPU and would not respond to input.
> Now I am able to kill the run-away emacs process and regain control of
> the system.  Below is information about my current installation.

Does this fix the problem?

diff --git a/src/xselect.c b/src/xselect.c
index 6d167c0b6f..eb297e9cba 100644
--- a/src/xselect.c
+++ b/src/xselect.c
@@ -1255,7 +1255,9 @@ x_get_foreign_selection (Lisp_Object selection_symbol, 
Lisp_Object target_type,
   int nsecs = (timeout % 1000) * 1000000;
   TRACE1 ("  Start waiting %"PRIdMAX" secs for SelectionNotify", secs);
   wait_reading_process_output (secs, nsecs, 0, false,
-                              reading_selection_reply, NULL, 0);
+                              /* Don't run any timers, since this
+                                 code isn't reentrant.  */
+                              reading_selection_reply, NULL, -1);
   TRACE1 ("  Got event = %d", !NILP (XCAR (reading_selection_reply)));
 
   if (NILP (XCAR (reading_selection_reply)))




reply via email to

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