emacs-devel
[Top][All Lists]
Advanced

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

Re: "concurrency" branch updated


From: Eli Zaretskii
Subject: Re: "concurrency" branch updated
Date: Tue, 03 Nov 2015 18:26:47 +0200

> From: Ken Raeburn <address@hidden>
> Date: Tue, 3 Nov 2015 04:40:11 -0500
> Cc: emacs-devel <address@hidden>
> 
> I do suspect that some things dealing with user input (reading, testing
> availability, even the flag indicating we’re waiting) might get confused in a
> multithreaded setup. The test I was using recently that reliably crashed Emacs
> was:
> 
> (make-thread (lambda () (signal ‘foo nil)))
> 
> …though it has to be in an interactive Emacs, where the waiting_for_input flag
> can be set, which the “signal” routine really doesn’t like. Possibly
> waiting_for_input needs to be thread-local… or if it stays global, maybe
> Fsignal() just shouldn’t be looking at it any more.
> 
> A previous test which broke the pre-merged concurrency branch but which I
> haven’t tested recently was to create a thread and have it prompt for input… I
> think it was either yes-or-no-p or y-or-n-p; it seemed to put Emacs into a
> state where there were no key bindings, so it would complain about every
> character I typed.
> 
> So…yeah. Input seems to be a fragile area on the branch.

IMO, the concurrency branch needs someone motivated enough and with
enough resources to work on it, before it will be ready for prime
time.  Ideally, that should be Tom, but we can only hope he will find
time for that.  If not, then someone else.  I don't see how this could
be moved forward without some non-trivial effort.  The design is
simple and robust, and the implementation fairly simple and easy to
understand.  What's needed, IMO, is a lot of testing and debugging,
and quite a lot of the latter on the C level.




reply via email to

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