[Top][All Lists]

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

bug#25265: make-thread crashes in OS X 10.6

From: Eli Zaretskii
Subject: bug#25265: make-thread crashes in OS X 10.6
Date: Mon, 26 Dec 2016 17:52:30 +0200

> Date: Mon, 26 Dec 2016 13:09:17 +0000
> From: Alan Third <address@hidden>
> Cc: address@hidden, address@hidden
> I’ve just tried the below patch and it doesn’t make any difference: it
> still hangs immediately.

Can you try and figure out why it hangs?

> Back in October Ken Raeburn listed some things that need done in
> ns_select which are probably relevant:
> https://lists.gnu.org/archive/html/emacs-devel/2016-10/msg00525.html

Hmm... none of the changes Ken mentioned were in the concurrency
branch when I merged it.  Perhaps Ken didn't push the changes back

The problems in xg_select were solved in a different way, I believe.
The problems in ns_select are the issue at hand here.

Wrt static variables used by ns_select: either they should become
members of struct thread_state, or the calls to release_global_lock
and acquire_global_lock should be moved into ns_select (which was what
Ken was proposing, AFAIU).  I'm not sure which possibility is better,
nor whether this is all that needs to be done, because I don't
understand well enough the semantics of some parts of ns_select, in
particular where it says

    [NSApp run];

Can this part and its surrounding code be made thread-safe?  The call
to record_unwind_protect in particular confuses me: that seems to hint
the code wants to be interruptible here, which might require stuff
like maybe_reacquire_global_lock I added to keyboard.c, to avoid
problems when Emacs gets SIGINT on a TTY frame.


reply via email to

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