[Top][All Lists]

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

Re: Asynchronous bug

From: Richard Stallman
Subject: Re: Asynchronous bug
Date: Mon, 05 May 2003 10:33:27 -0400

    It would only work if foo->symbol (and foo->func and foo->old_value)
    is also marked as volatile; otherwise the compiler doesn't know that
    the two might interact and is free to move operations on foo->symbol
    around operations on specpdl_ptr.

If we declare those elements volatile too, does that solve the problem?

    And it still wouldn't address the "Xlib: unexpected async reply"
    problem I'm seeing.

That is an unrelated issue.  We can solve this problem easily enough.
An hour of systematic checking would probably find which Xlib calls
don't have BLOCK_INPUT.

    > If there is a loop that can run for a substantial time and cannot quit,
    > this change would have the effect that the screen won't refresh
    > and the cursor won't blink during that loop.

    Such loops are bugs anyway.

I won't go as far as to say that.  I will only agree they are
undesirable; sometimes they may be necessary.

We need to see whether this change has any visible user-level bad effects
before deciding to actually use it.


    > It also seems to have a more superficial bug: it does not handle
    > immediate_quit properly.  When immediate_quit is set, I think this
    > code won't even handle C-g right away, not until the loop exits
    > and some other code runs which does not use immediate_quit and
    > does QUIT.

    True.  That doesn't bother me nearly as much as Emacs crashing or
    becoming unusable after a "Xlib: unexpected async reply".

that is a serious problem.  I cannot consider installing such a change
until this problem in it is fixed.x

reply via email to

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