GNU bug report logs - #64819
30.0.50; condition-wait not interruptible

Previous Next

Package: emacs;

Reported by: Helmut Eller <eller.helmut <at> gmail.com>

Date: Mon, 24 Jul 2023 06:33:02 UTC

Severity: normal

Found in version 30.0.50

Full log


Message #35 received at 64819 <at> debbugs.gnu.org (full text, mbox):

From: Helmut Eller <eller.helmut <at> gmail.com>
To: Stefan Kangas <stefankangas <at> gmail.com>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 64819 <at> debbugs.gnu.org
Subject: Re: bug#64819: 30.0.50; condition-wait not interruptible
Date: Sun, 03 Sep 2023 21:53:21 +0200
[Message part 1 (text/plain, inline)]
On Sat, Sep 02 2023, Stefan Kangas wrote:

> Did you get any further with this?

Well, a bit.  I'm currently using the attached patch and for testing the
attached shell script.  The patch is good enough to pass these tests.  I
don't know if it breaks something else.

I had to change maybe_reacquire_global_lock to make the tests pass.  The
idea behind maybe_reacquire_global_lock seems dubious: waiting for a
lock in a signal handler seems, well, problematic.

Anyway, the patch is work in progress and only useful to me.

(The patch also includes changes for Windows, but I only tested those
manually and under Wine.  For the Windows console version, C-g doesn't
interrupt condition-wait.  Ordinary endless loops don't seem be
interruptible there either.  So, maybe this is acceptable.)

Helmut

[interruptible-condition-wait.patch (text/x-diff, attachment)]
[cnd-wait-test.sh (text/x-sh, attachment)]
[wait.el (text/plain, attachment)]

This bug report was last modified 1 year and 285 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.