[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: NS port thread problems
From: |
Po Lu |
Subject: |
Re: NS port thread problems |
Date: |
Thu, 21 Oct 2021 08:35:01 +0800 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
Alan Third <alan@idiocy.org> writes:
> On Wed, Oct 20, 2021 at 11:05:38AM +0800, Po Lu wrote:
> macOS since, I think, 10.14 has required *ALL* GUI work to happen on
> the main thread. This is a problem since, if you imagine running:
>
> (frame-set-width nil 100)
> in a thread it will ultimately end up calling ns_set_window_size which
> in turn will call "[window setFrame:frameRect display:NO]", which has
> to be run in the main thread. ns_set_window_size also calls a number
> of other GUI related methods, all of which need to run in the main
> thread.
> One solution would be to use Objective C "blocks" to run the code in
> the main thread, but GCC doesn't support them, so that's out.
I'm aware of this feature, but I don't understand how it will allow for
running code in the main thread.
> I do not think that GNUstep has these limitations, so threads may not
> be as prone to crash Emacs using it.
Interesting, thanks.