From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Philipp Stephani
> Date: Wed, 23 May 2018 22:21:29 +0100
> From: Alan Third <alan@idiocy.org>
> Cc: Nick Helm <nick@tenpoint.co.nz>, emacs-devel@gnu.org,
>=C2=A0 =C2=A0 =C2=A0 =C2=A0georgedp@orbitalimpact.com, monnier@iro.umontreal.ca
>
> The main problem I have is things coming in the opposite direction. I<= br> > don=E2=80=99t know if W32 is the same, but we can only run GUI related= code in
> the main thread.
What do you mean by "GUI code" here?
> If we separate the Lisp thread and the NS run loop thread, then code > called from Lisp can=E2=80=99t directly interact with the NS GUI code,= it
> has to be dispatched to the NS run loop thread.
The w32 build has a similar problem, and it solves it by setting up
message queue between the main and the input threads.=C2=A0 Messages are
sent between the two threads when needed, and the Windows native
messages are used in the opposite direction.=C2=A0 So when one thread needs=
something done by the other thread, it sends the appropriate message,
waits for a response, then continues (and sometimes it doesn't have to<= br> wait for any response, it depends on the case).
Can NS use some similar machinery?